Tcp

我可以用 seq=0 過濾 TCP SYN 數據包嗎

  • June 10, 2013

我的伺服器似乎是 SYN 洪水攻擊的目標。在 50-600MBit/s 之間,欺騙 IP。

數據包如下所示:

IP p.q.r.s.1234 > my.ser.vers.ip.80: Flags [S], seq 0, win 5840, length 0

p.q.r.s顯然是隨機的。(是的,源埠始終是 1234)

雖然僅此一項不足以填充我的連結,但響應也發揮了作用,機器變得非常緩慢。

使用 seq=0 刪除 TCP SYN 是否合理?

當然,您可以使用 seq=0 丟棄 TCP SYN,您只有 1/4294967296 的機會(或多或少)或丟棄真正的連接….但是

實際的 TCP 序列號可能不是 0!

我不知道您使用的是什麼工具(輸出格式似乎與 /Wireshark 中的任何一個都不完全匹配tcpdumptshark,但是tcpdumpWireshark 和 Wireshark 實際上都記住了 TCP 流的狀態,並從seqack欄位中顯示的值中減去初始序列號,因此 0 表示“無論 ISN 是什麼”。

請注意手冊頁中的此選項tcpdump

   -S     Print absolute, rather than relative, TCP sequence numbers.

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