Iptables

SYN 數據包從未以 SYN/ACK 響應

  • January 16, 2019

我遇到了一個 tcp 握手問題,我在其他任何地方都找不到答案。

我有一個程序在我的本地設備上執行,它將數據發佈到埠 50000。在同一台機器上的終端中,我使用 netcat 連接到埠。但是,在使用 tcpdump 和 wireshark 時,我可以看到 SYN 數據包已發送,但 SYN/ACK 數據包從未作為響應發送。我的 iptables 沒有連接規則,所有鏈的預設策略是接受連接。每次我嘗試連接時都會發生這種情況,到目前為止,我不明白為什麼伺服器沒有響應 SYN 數據包。

我修好了它。令我沮喪的是,這實際上是一個程式碼問題。我們將 listen() backlog 大小設置為 0,導致任何嘗試的連接失敗。在 TCP 的情況下,這意味著重新傳輸數據包。不知道這如何在一台機器上而不是另一台機器上工作,但現在它們都工作了。感謝大家的評論。

引用自:https://serverfault.com/questions/949234