2013-03-18 37 views
0

我有一个TCP客户端程序 当它通过发送一个SYN 它将接收来自服务器的SYN/ACK,是否可以在TCP三次握手中获取SYN/ACK数据包的TCP序列号?

是它可以读取的序列号来发起与远程TCP服务器3路握手和SYN/ACK分组的确认序列号? 如果是这样,该怎么办呢? 顺便说一句,我正在研究linux c 谢谢!

+3

你真的*试图解决什么? – Sebivor 2013-03-18 10:34:38

+0

他被问到[before](http://stackoverflow.com/questions/15428694/how-to-modify-packet-headerip-header-tcp-header-before-the-host-send-them-int),不止一次。没有任何回应。 – EJP 2013-03-19 09:04:02

回答

1

是的,这是可能的,但它不像传统的套接字编程那么容易。这隐藏了你的握手舞台。

你应该使用像pcap这样的东西来捕捉你需要的东西。 或Raw sockets

0

使用原始TCP套接字。创建原始套接字时有一个IPPROTO_TCP协议选项。因此,数据就是嵌入在链路层报头中的所有内容,因此您将看到IP报头,然后是TCP报头,然后是每个接收到的数据包的有效负载数据。你需要解析它的序列。

参考TCP Header Formatter