Chinaunix
标题:
怎么确定重复的tcp包?
[打印本页]
作者:
shue
时间:
2007-10-31 17:05
标题:
怎么确定重复的tcp包?
用winpcap截获了一个完整的tcp连接,需要过滤所有重复的包,由于可能存在的网络原因导致tcp包重复发送,本来过滤吊重复包的任务是由tcp栈完成的,但是winpcap截获的是原始包,怎么来判断某个重复的tcp包呢? 我们项目的设计文档中写的是只要source ip address, source port 和 sequence number 相同就可以了,但是很显然这个是错的.
作者:
ssffzz1
时间:
2007-10-31 18:15
源IP,源端口,IPID,目的IP,目的端口
TCP序列号。
作者:
shue
时间:
2007-10-31 18:55
to ssffzz1, 多谢
ipid字段能解决tcp segment没收到ack,超时重发,产生的重复包吗?
作者:
ssffzz1
时间:
2007-11-01 09:25
这2个包的头部应该是一样的。
作者:
shue
时间:
2007-11-01 10:42
多谢ssffzz1,
1.我认为你说的增加一个比较ipid,这个能解决由于ip层产生的重发问题
2.你说的"这2个包的头部应该是一样的",我认为不能解决过滤tcp超时重发的包,tcp超时重发的包,sn应该是相同的,但是它是重新发送的一个包,ipid应该不同,而且重发的windowsize也可能不同,想判断这两个包头一样,应该不会成功. 这是我的一些理解,希望能得到你的指导.
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2