tcpdump 強(qiáng)大的功能和靈活的策略,主要體現(xiàn)在過(guò)濾器(BPF)強(qiáng)大的表達(dá)式組合能力。
本節(jié)主要分享一些常見(jiàn)的所謂高級(jí)用法,希望讀者能夠舉一反三,根據(jù)自己實(shí)際需求,來(lái)靈活使用它。
1. 抓取指定客戶(hù)端訪問(wèn) ssh 的數(shù)據(jù)包
$tcpdump-nieth0src192.168.1.100anddstport22
2. 抓取從某個(gè)網(wǎng)段來(lái),到某個(gè)網(wǎng)段去的流量
$tcpdump-nieth0srcnet192.168.1.0/16anddstnet10.0.0.0/8or172.16.0.0/16
3. 抓取來(lái)自某個(gè)主機(jī),發(fā)往非 ssh 端口的流量
$tcpdump-nieth0src10.0.2.4andnotdstport22
4. 當(dāng)構(gòu)建復(fù)雜查詢(xún)的時(shí)候,你可能需要使用引號(hào),單引號(hào)告訴 tcpdump 忽略特定的特殊字符,這里的 ()
就是特殊符號(hào),如果不用引號(hào)的話(huà),就需要使用轉(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. 過(guò)濾 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'
$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)注
5095文章
19189瀏覽量
307960 -
Linux
+關(guān)注
關(guān)注
87文章
11351瀏覽量
210497 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7600瀏覽量
89302 -
數(shù)據(jù)包
+關(guān)注
關(guān)注
0文章
267瀏覽量
24517
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Arduino串口高級(jí)用法,你都掌握了嗎?
C語(yǔ)言中位運(yùn)算符的高級(jí)用法(1)
![C語(yǔ)言中位運(yùn)算符的<b class='flag-5'>高級(jí)</b><b class='flag-5'>用法</b>(1)](https://file1.elecfans.com/web2/M00/94/3D/wKgaomTkIHWAfAGoAACUgQYB6VU500.jpg)
C語(yǔ)言中位運(yùn)算符的高級(jí)用法(2)
![C語(yǔ)言中位運(yùn)算符的<b class='flag-5'>高級(jí)</b><b class='flag-5'>用法</b>(2)](https://file1.elecfans.com/web2/M00/94/3D/wKgaomTkISSAYOS_AAEwH7Fhj20840.jpg)
C語(yǔ)言中位運(yùn)算符的高級(jí)用法(3)
![C語(yǔ)言中位運(yùn)算符的<b class='flag-5'>高級(jí)</b><b class='flag-5'>用法</b>(3)](https://file1.elecfans.com/web2/M00/94/3D/wKgaomTkIWqAFds4AAEMc8a_-4s583.jpg)
C語(yǔ)言中位運(yùn)算符的高級(jí)用法(4)
![C語(yǔ)言中位運(yùn)算符的<b class='flag-5'>高級(jí)</b><b class='flag-5'>用法</b>(4)](https://file1.elecfans.com/web2/M00/94/3D/wKgaomTkIciAFg1xAADV001HUh0819.jpg)
C語(yǔ)言中位運(yùn)算符的高級(jí)用法(5)
![C語(yǔ)言中位運(yùn)算符的<b class='flag-5'>高級(jí)</b><b class='flag-5'>用法</b>(5)](https://file1.elecfans.com/web2/M00/94/39/wKgZomTkIiKAbP78AAEQqqd31XA124.jpg)
tcpdump命令介紹
狀態(tài)位在軟件設(shè)計(jì)中的常見(jiàn)用法是什么?
ActiveMQ高級(jí)用法
tcpdump的安裝以及通過(guò)實(shí)例來(lái)演示如何使用 tcpdump 命令
![<b class='flag-5'>tcpdump</b>的安裝以及通過(guò)實(shí)例來(lái)演示如何使用 <b class='flag-5'>tcpdump</b> 命令](https://file1.elecfans.com//web2/M00/A7/26/wKgZomUMQq6Ads7HAABNtRhsAlY002.png)
評(píng)論