tcpdump 強(qiáng)大的功能和靈活的策略,主要體現(xiàn)在過濾器(BPF)強(qiáng)大的表達(dá)式組合能力。
本節(jié)主要分享一些常見的所謂高級(jí)用法,希望讀者能夠舉一反三,根據(jù)自己實(shí)際需求,來靈活使用它。
1. 抓取指定客戶端訪問 ssh 的數(shù)據(jù)包
$tcpdump-nieth0src192.168.1.100anddstport22
2. 抓取從某個(gè)網(wǎng)段來,到某個(gè)網(wǎng)段去的流量
$tcpdump-nieth0srcnet192.168.1.0/16anddstnet10.0.0.0/8or172.16.0.0/16
3. 抓取來自某個(gè)主機(jī),發(fā)往非 ssh 端口的流量
$tcpdump-nieth0src10.0.2.4andnotdstport22
4. 當(dāng)構(gòu)建復(fù)雜查詢的時(shí)候,你可能需要使用引號(hào),單引號(hào)告訴 tcpdump 忽略特定的特殊字符,這里的 () 就是特殊符號(hào),如果不用引號(hào)的話,就需要使用轉(zhuǎn)義字符
$tcpdump-nieth0
'src10.0.2.4and(dstport3389or22)'
5. 基于包大小進(jìn)行篩選,如果你正在查看特定的包大小,可以使用這個(gè)參數(shù)
小于等于 64 字節(jié):
$tcpdump-niless64
大于等于 64 字節(jié):
$tcpdump-nieth0greater64
等于 64 字節(jié):
$tcpdump-nieth0length==64
6. 過濾 TCP 特殊標(biāo)記的數(shù)據(jù)包
抓取某主機(jī)發(fā)送的 RST 數(shù)據(jù)包:
$tcpdump-nieth0srchost192.168.1.100and
'tcp[tcpflags]&(tcp-rst)!=0'
抓取某主機(jī)發(fā)送的 SYN 數(shù)據(jù)包:
$tcpdump-nieth0srchost192.168.1.100and
'tcp[tcpflags]&(tcp-syn)!=0'
抓取某主機(jī)發(fā)送的 FIN 數(shù)據(jù)包:
$tcpdump-nieth0srchost192.168.1.100and
'tcp[tcpflags]&(tcp-fin)!=0'
抓取 TCP 連接中的 SYN 或 FIN 包
$tcpdump
'tcp[tcpflags]&(tcp-syn|tcp-fin)!=0'
7. 抓取所有非 ping 類型的 ICMP 包
$tcpdump
'icmp[icmptype]!=icmp-echoandicmp[icmptype]!=icmp-echoreply'
8. 抓取端口是 80,網(wǎng)絡(luò)層協(xié)議為 IPv4, 并且含有數(shù)據(jù),而不是 SYN、FIN 以及 ACK 等不含數(shù)據(jù)的數(shù)據(jù)包
$tcpdump
'tcpport80and(((ip[2:2]-((ip[0]&0xf)<<2))?-?((tcp[12]&0xf0)>>2))!=0)'
解釋一下這個(gè)復(fù)雜的表達(dá)式,具體含義就是,整個(gè) IP 數(shù)據(jù)包長(zhǎng)度減去 IP 頭長(zhǎng)度,再減去 TCP 頭的長(zhǎng)度,結(jié)果不為 0,就表示數(shù)據(jù)包有 data,如果還不是很理解,需要自行補(bǔ)一下 tcp/ip 協(xié)議
9. 抓取 HTTP 報(bào)文,0x4754 是 GET 前兩字符的值,0x4854 是 HTTP 前兩個(gè)字符的值
$tcpdump-nieth0
'tcp[20:2]=0x4745ortcp[20:2]=0x4854'
-
嵌入式
+關(guān)注
關(guān)注
5198文章
20442瀏覽量
333986 -
Linux
+關(guān)注
關(guān)注
88文章
11758瀏覽量
219009 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
8264瀏覽量
94715 -
數(shù)據(jù)包
+關(guān)注
關(guān)注
0文章
269瀏覽量
25594
發(fā)布評(píng)論請(qǐng)先 登錄
Arduino串口高級(jí)用法,你都掌握了嗎?
C語言中位運(yùn)算符的高級(jí)用法(1)
C語言中位運(yùn)算符的高級(jí)用法(2)
C語言中位運(yùn)算符的高級(jí)用法(3)
C語言中位運(yùn)算符的高級(jí)用法(4)
tcpdump命令介紹
ActiveMQ高級(jí)用法
tcpdump的安裝以及通過實(shí)例來演示如何使用 tcpdump 命令
網(wǎng)絡(luò)行抓包分析工具tcpdump安裝介紹
tcpdump常見的高級(jí)用法
評(píng)論