我正在编写数据包生成器。使用wireshark和VM进行测试。我在我的清单上进行了练习,连续发送了3个数据包: 1.80端口上的TCP,SYN = 1且MF = 1标志。 2. 135端口上的TCP,SYN = 1且MF = 1标志。 3. TCP端口为80,MF = 0,偏移量= 24。
我在IP层上发送所有具有相同ID字段的数据包。据我所知,Wireshark应该尝试重新组合这些数据包。 但它会重新组装来自不同端口的数据包吗?我们应该得到什么作为最终结果? 我得到的只是3个IPv4数据包。
http://cs625124.vk.me/v625124860/10bf5/BQFUbKT7zVs.jpg
添加:我提到过,如果我将最后一个TCP数据包的偏移量更改为16,那么我们会得到一些不同类型的流量。:
我们有一个HTTP或连续数据包。这是错误的校验和。我试图将正确的校验和复制到第一个TCP数据包然后我得到了RST,所以我认为WireShark从第一个数据包解释SYN: http://s28.postimg.org/z3w7ibhjx/image.png
那么请你解释一下,最后的结果是否正确?我将不胜感激任何帮助。对不起,如果它是基本的东西。这是我第一次编写WinForm应用程序并使用Pcap.Net库。在此先感谢!对不起,链接,没有声誉(
答案 0 :(得分:0)
首先,TCP会话由元组定义:
如果您的数据包具有不同的元组,则它们将不属于同一TCP会话。
服务器关闭会话时会收到RST。
服务器可能不喜欢从端口21(FTP)到其端口80(HTTP)的SYN数据包。