2013-03-18 40 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