tcpdump -s 0 -n -A -X src host 172.17.0.2 and dst port 80 and tcp[13]=24
-s 0 表示包內(nèi)容長(zhǎng)度登渣,比如 -s 1500
-X 表示16進(jìn)制顯示
ng上執(zhí)行 tcpdump -n -A -X src host 172.17.0.2 and dst port 80 and tcp[13]=24 然后click上執(zhí)行 curl -v "172.17.0.3/index.html" , 可以看到ng上的http請(qǐng)求了
dep 上查看php 項(xiàng)目 : tcpdump -n -X -i docker0 tcp dst port 80 and tcp[13]=24
tcpdump有很多參數(shù)來控制在哪里捕獲毡泻,如何捕獲,以及捕獲文件如何保存處理等選項(xiàng),
-i interface 指定監(jiān)聽的網(wǎng)卡
-s 指定每個(gè)報(bào)文中截取的數(shù)據(jù)長(zhǎng)度敬飒,不是缺省的68字節(jié)。如果僅僅對(duì)報(bào)頭感興趣带到,可以不使用該選項(xiàng)英染,指定為0說明不限制報(bào)文長(zhǎng)度被饿,而是捕獲整個(gè)報(bào)文狭握。一般以太網(wǎng)的MTU值為1500疯溺,因此指定長(zhǎng)度為1500即可。
-w filename 報(bào)文保存到文件
-c 當(dāng)收到指定報(bào)文個(gè)數(shù)后退出
-n 不要將IP地址和端口號(hào)進(jìn)行轉(zhuǎn)換囱嫩,轉(zhuǎn)換需要CPU時(shí)間
-G <rotate_seconds> 每隔指定的時(shí)間,將捕獲的報(bào)文循環(huán)保存為新文件今妄。需要-w配合使用鸳碧,并指定時(shí)間格式才能循環(huán)保存文件,否則覆蓋原來文件雁仲。常用事件格式%d(每月中的第幾天)琐脏,%H(當(dāng)前的小時(shí)時(shí)間),%M(當(dāng)前的分鐘時(shí)間)吹艇,%S(當(dāng)前的秒時(shí)間)昂拂。
-D 輸出tcpdump可以捕獲的接口列表,包含接口編號(hào)和接口名稱
-v 當(dāng)解析或打印時(shí)輸出詳細(xì)的信息鼻听。例如報(bào)文的生存時(shí)間TTL联四、ID等IP報(bào)文選項(xiàng)。
-r 讀取有-w創(chuàng)建的報(bào)文
- 匹配規(guī)則
只有符合表達(dá)式要求的報(bào)文才會(huì)被抓取到朝墩。
表達(dá)式由一個(gè)或多個(gè)基本元素加上連接符組成,這些基本元素也稱為原語亿卤,是指不可分割的最小單元「讶椋基本元素由一個(gè)ID和一個(gè)或多個(gè)修飾符組成傍念,有3種不同類型的修飾符。
第一種是類型修飾符双藕,共4個(gè)類型修飾符阳仔,分別為host、net嘶摊、port和portrange评矩。
host指定要捕獲的主機(jī)或ip地址。
net需要捕獲報(bào)文的子網(wǎng)虱颗。
port和portrange分別用于指定端口和端口范圍蔗喂。
第二種是傳輸方向的修飾符,包括src和dst畦粮。不僅可修飾地址乖阵,也可修飾端口。
tcpdump -i eth0 'dst port 80' -v
tcpdump -i eth0 'prot 5060 and src 192.168.1.100' -v
第三種是協(xié)議修飾符拉背,可以基于特定的協(xié)議來進(jìn)行過濾默终,可以是IP齐蔽、ARP、RARP诱渤、ICMP谈况、TCP和UDP等協(xié)議類型,如tcp port 21赡茸、udp port 5060等祝闻。
另外這些原語可以使用and(&&)、or(||)和not(A)來進(jìn)行運(yùn)算組合。所有的報(bào)文集合是全集叭喜,可以進(jìn)行交蓖谢、并和補(bǔ)集運(yùn)算。在多個(gè)層次的集合運(yùn)算時(shí)启绰,可以使用小括號(hào)來分割其集合運(yùn)算符的結(jié)合關(guān)系沟使。
tcpdump -i eth0 -s0 -w wang.pcap host 10.0.0.15
tcpdump -i eth0 -w aaa.pcap port 59 or port 53 or port 80 or arp or icmp