iptables 標誌符並不是第一包調件,但 connection tracking, ctstate 是 NEW
iptables -A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j LOG --log-prefix "New not sync:"
iptables -A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j DROP
記錄 /var/log/kern.log
...
Jun 26 09:55:47 gnu-linux-debian kernel: [ 2893.198034] New not syn:IN=eth0 OUT=
MAC=00:12:34:56:78:90:00:12:34:56:78:ce:08:00 SRC=192.168.1.254 DST=192.168.1.208
LEN=60 TOS=0x00 PREC=0x00 TTL=49 ID=24658 DF PROTO=TCP SPT=36605 DPT=113 WINDOW=32768 RES=0x00 ACK URGP=0
...
LEN=60 => IPv4 internet header length??
TOS=0x00 => IPv4, type of service, 0x00 16 進位是 0,沒有任何特殊條件??(ICMPv4 也有 TOS)
PREC=0x00 => IPv4 precedence field, 0x00 等於 routine??
TTL=49 => IPv4 time to live, 還有 49 跳,和 IPv6 Hop Limit 同性值??(ICMPv4 也有 TTL)
ID=24658 => IPv4 identification, 用於組合 fragmented 的包?? (ICMPv4 也有 TTL)
PROTO=TCP => protocol 是 TCP
SPT=36605 => TCP,UDP 都用,沒配置特别服務
DPT=113 => TCP,Unix 系統使用,遠端因本地軟件通訊,回應要求身份証明?
WINDOW=32768 => TCP,本地包告知遠端在下一個 ACK 標誌符通訊前,可送的最大 sequence number
RES=0x00???
ACK => TCP,ACK 標誌符
URGP=0 => TCP,urgent pointer 無