參數(shù)
抓包參數(shù)
-c 指定抓包的數(shù)量
-i 指定抓取的接口,默認(rèn)為第一個網(wǎng)絡(luò)接口
-n 不做主機名解析
-P:指定要抓取的包是流入還是流出的包??梢越o定的值為"in"、"out"和"inout",默認(rèn)為"inout"
輸出參數(shù)
-e: 輸出的每行包括源和目的mac地址
-q: 簡短打印
-X:輸出包的頭部數(shù)據(jù),會以16進(jìn)制和ASCII兩種方式同時輸出。
-XX:輸出包的頭部數(shù)據(jù),會以16進(jìn)制和ASCII兩種方式同時輸出,更詳細(xì)。
-v:當(dāng)分析和打印的時候,產(chǎn)生詳細(xì)的輸出
-vv:產(chǎn)生比-v更詳細(xì)的輸出。
-vvv:產(chǎn)生比-vv更詳細(xì)的輸出
其他功能參數(shù)
-D 列出可用于抓包的接口
-w:將抓包數(shù)據(jù)輸出到文件中而不是標(biāo)準(zhǔn)輸出
-r:從給定的數(shù)據(jù)包文件中讀取數(shù)據(jù),使用"-"表示從標(biāo)準(zhǔn)輸入中讀取
表達(dá)式
表達(dá)式是一個正則表達(dá)式,tcpdump利用它作為報文的過濾條件,滿足該條件的才會被捕獲
格式:proto dir type
類型type選項包含:host net port
方向dir包含:src dst
協(xié)議proto選項包含:ip、arp、rarp、tcp、udp、icmp等
高級使用
AND: and or &&
OR: or or ||
except: not or !
格式
tcpdump [協(xié)議類型] [源或目標(biāo)] [主機名稱或IP] [or/and/not/!條件組合] [源或目標(biāo)] [主機名或IP] [or/and/not/!條件組合] [端口] [端口號]
常用例子
捕獲所有流量
tcpdump -i any
捕獲指定網(wǎng)卡的流量
tcpdump -i eth0
使用源和目的過濾
tcpdump src {source ip}
tcpdump dst {dest ip}
tcpdump host 192.168.1.100 //無論源或目的都可以
過濾某個子網(wǎng)的數(shù)據(jù)包
tcpdump net 1.2.3.0/24
過濾指定端口相關(guān)的流量
tcpdump port {port}
tcpdump src port {port} -> 只顯示發(fā)出
tcpdump portrange 22-125
過濾指定協(xié)議的流量
tcpdump tcp
基于包大小過濾流量
tcpdump less 32
tcpdump grater 64
tcpdump <=128
使用端口范圍過濾
tcpdump portrange 21-23
捕獲主機A,B之間的報文
tcpdump -i any tcp port xxx and host A and B
過濾TCP flag
過濾SYN
tcpdump -c 2 net 193.0.0.0/8 and "tcp[13] & 2 != 0"
過濾ACK
tcpdump -c 2 net 193.0.0.0/8 and "tcp[13] & 16!=0"
過濾RST
tcpdump "tcp[13] & 4!=0"
過濾FIN
tcpdump "tcp[13] & 1!=0"