TCP / IP基础知识,偏移,重组

时间:2014-12-23 14:21:47

标签: tcp ethernet tcp-ip pcap.net

我正在编写数据包生成器。使用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库。在此先感谢!对不起,链接,没有声誉(

1 个答案:

答案 0 :(得分:0)

首先,TCP会话由元组定义:

  1. A方的IP地址。
  2. A侧的港口。
  3. B方的IP地址。
  4. Side B' Port。
  5. 如果您的数据包具有不同的元组,则它们将不属于同一TCP会话。

    服务器关闭会话时会收到RST。

    服务器可能不喜欢从端口21(FTP)到其端口80(HTTP)的SYN数据包。