想请教下wireshark的追踪流实现的原理,虽然可以想到是要通过src_ip、src_port、dst_id、dst_port来进行判断,然后根据序号进行排序。但是如果会话中途断掉(完成四次挥手)并再次进行连接(完成三次握手),那么这两个会话会被判定为在一个tcp流之中吗?
其实通过一个简单测试就能得到答案,刚刚抓了几个包看了,在这里自问自答一下。测试的过程很简单:1.利用代码创建一个socket客户端,绑定端口4444 2.创建一个socket服务端,绑定端口5555 3.使用客户端向服务端发送数据,然后断开连接 4.再次进行连接、发送数据使用wireshark对以上操作进行抓包,然后在统计中可以看到以下结果:可以看到,尽管两次连接socket信息相同,但是两个会话还是会生成两个tcp流,所以wireshark中追踪流不单单依靠ip地址+端口这些信息,具体是如何实现的还要再研究一下,有了进展再进行补充。也希望各位大佬不吝赐教,万分感谢!
其实通过一个简单测试就能得到答案,刚刚抓了几个包看了,在这里自问自答一下。
测试的过程很简单:
使用wireshark对以上操作进行抓包,然后在统计中可以看到以下结果:

可以看到,尽管两次连接socket信息相同,但是两个会话还是会生成两个tcp流,所以wireshark中追踪流不单单依靠ip地址+端口这些信息,具体是如何实现的还要再研究一下,有了进展再进行补充。也希望各位大佬不吝赐教,万分感谢!