2013-01-08 58 views
1

的初始序列号作为测试的一部分,我需要能够初始化一个TCP连接到特定值的ISN(初始序列号)。通常这是由OS/Network Stack选择的随机值,但我需要控制初始值。如何设置TCP套接字

有没有办法在C或Python来做到这一点?

+2

我相当肯定没有standa rd为此存在。您定位的是哪个操作系统? – cnicutar

+0

您将需要构建原始数据包并发送它们。下面是[一个例子,我发现对Linux在Python(http://www.binarytides.com/raw-socket-programming-in-python-linux/)。 – netcoder

+0

@cnicutar我会很高兴与Linux或Windows,因为我有这两个可用。 – cottonke

回答

0
  • 下载lwiplwip-contrib
  • 创建一个新的支线接口,并与正常的网络卡桥接它
  • 构建lwip-contrib/ports/unix/proj/minimal应用程序并运行它
  • 现在你应该能ping通LWIP栈
  • TCP序列号是struct tcp_pcb,值rcv_nxtsnd_nxt
  • 哈克的TCP代码不随机这些值,并添加一个TCP连接到minimal应用