Linux中國

Linux有問必答:如何使用tcpdump來捕獲TCP SYN,ACK和FIN包

tcpdump/libpcap的包過濾規則也支持更多通用分組表達式,在這些表達式中,包中的任意位元組範圍都可以使用關係或二進位操作符進行檢查。對於位元組範圍表達,你可以使用以下格式:

proto [ expr : size ]

「proto」可以是熟知的協議之一(如ip,arp,tcp,udp,icmp,ipv6),「expr」表示與指定的協議頭開頭相關的位元組偏移量。有我們熟知的直接偏移量如tcpflags,也有取值常量如tcp-syn,tcp-ack或者tcp-fin。「size」是可選的,表示從位元組偏移量開始檢查的位元組數量。

使用這種格式,你可以像下面這樣過濾TCP SYN,ACK或FIN包。

只捕獲TCP SYN包:

 # tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) != 0" 

只捕獲TCP ACK包:

# tcpdump -i <interface> "tcp[tcpflags] & (tcp-ack) != 0"

只捕獲TCP FIN包:

# tcpdump -i <interface> "tcp[tcpflags] & (tcp-fin) != 0"

之捕獲TCP SYN或ACK包:

 # tcpdump -r <interface> "tcp[tcpflags] & (tcp-syn|tcp-ack) != 0" 

via: http://ask.xmodulo.com/capture-tcp-syn-ack-fin-packets-tcpdump.html

譯者:GOLinux 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國