分类:TCP/IP

Home / 分类:TCP/IP

TCP重组process_tcp

2015-2-21 15:47:30 | TCP/IP | 没有评论

nids_run调用了pcap_loop,无止境地循环抓包,抓到的包传给回调函数nids_pcap_handle来处理,而回调函数最终都会调用gen_ip_proc来根据不同类型协议的包进行处理重组,process_tcp,process_udp等等

首先是IP和TCP的结构体,可能不同的linux操作系统定义不同,下面头文件CentOS6.4里的定义

IP结构体:/usr/include/net[……]

Read more

TCP重传分析

2015-2-11 16:34:43 | TCP/IP | 没有评论

TCP重传十分影响网络性能,往往通过抓包之后,wireshark里打开pcap文件,然后过滤框里输入过滤条件tcp.analysis.retransmission,就能过滤出所有重传的数据包,然后可以通过Statistics里的Summary查看占比

但是其实对于TCP重传这样过滤是不全的!!!下面在命令行里通过tshark来解析

1:首先直接以包开解析

[lihui@localhost ~]$ t[......]

Read more

TCP滑动窗口

2014-11-20 14:50:21 | TCP/IP | 没有评论

TCP为了提供可靠的传输,发送端送出一个包之后,等待相应的接收端的确认包而不急着发送下一个包。在这段时间内,数据只在双方之间单向传输,假如中间还出现了延迟相应,那么网络完全就是空闲的了,也就是为了满足接收到前一个包的确认信息,必须推迟下一个包的发送,所以如果仅凭这种请求确认方式就会浪费了大量的带宽

为了更好地利用网络带宽,TCP滑动窗口允许发送端在等待接收端的确认信息之前可以发送多个分组,这个协议[……]

Read more

TCP重传

2014-11-16 16:44:59 | TCP/IP | 没有评论

超时重传

TCP的传输过程有很多定时器,每发一个包,重传定时器就开始计数,如果收到了确认的包之后,重传计时器就停止计数了;如果超过了设定的时间段还没有收到f发出去这个包的确认包,那么就会重传该包

快速重传

对于收到的乱序的包并不丢弃,为了减少更多的重传,缓存下来了,立即发送一个确认包希望接受应该到达的包

比如发送端本来要发送3个包,但是第二个包在传输过程中丢掉了,接收端收到了第三个包之后并不丢弃,[……]

Read more