一 tcpdump基本使用
1.1 命令格式
tcpdump [ 選項(xiàng) ] [ -c 數(shù)量 ] [ -i 網(wǎng)絡(luò)接口 ] [ -w 文件名 ] [ 表達(dá)式 ]
1.2 常用選項(xiàng)
-l:使標(biāo)準(zhǔn)輸出變?yōu)榫彌_行形式陕凹;
-c:抓包次數(shù),收到-c指定的包數(shù)量后退出驾孔;
-C:指定輸出文件的大小,單位是Mb, 當(dāng)前文件大小超過(guò)后-C指定數(shù)后,會(huì)另寫(xiě)一個(gè)文件夫凸,和-W配套使用;
-nn:直接以 IP 及 Port Number 顯示般码,而非主機(jī)名與服務(wù)名稱(chēng)担锤;
-s :<數(shù)據(jù)包大小> 設(shè)置每個(gè)數(shù)據(jù)包的大小,單位字節(jié)儿礼;
-i:指定監(jiān)聽(tīng)的網(wǎng)絡(luò)接口咖杂;
-r:從指定的文件中讀取包;
-w:輸出信息保存到指定文件蚊夫;
-W:指定輸出文件的數(shù)量诉字,和-C配套使用,-C指定單個(gè)文件大兄住壤圃;
-a:將網(wǎng)絡(luò)地址和廣播地址轉(zhuǎn)變成名字;
-d:將匹配信息包的代碼以人們能夠理解的匯編格式給出琅轧;
-e:在輸出行打印出數(shù)據(jù)鏈路層的頭部信息伍绳;
-f:將外部的Internet地址以數(shù)字的形式打印出來(lái);
-t:在輸出的每一行不打印時(shí)間戳乍桂;
-v:輸出稍微詳細(xì)的報(bào)文信息冲杀;
-q: 快速輸出效床,僅列出少數(shù)的傳輸協(xié)議信息,精簡(jiǎn)輸出
1.3 表達(dá)式(用于過(guò)濾報(bào)文)
1. port 80 :指明監(jiān)聽(tīng)80端口數(shù)據(jù)包
2. src 192.1.1.2: 指明監(jiān)聽(tīng)src是192.1.1.2的數(shù)據(jù)包
3. dst 192.1.1.2: 指明監(jiān)聽(tīng)dst是192.1.1.2的數(shù)據(jù)包
4. 協(xié)議關(guān)鍵字:ip,arp,tcp,udp等漠趁,指明監(jiān)聽(tīng)具體協(xié)議的數(shù)據(jù)包
5. 邏輯運(yùn)算:and/or/not
1.4 常用命令組合
- 1 捕獲端口80的數(shù)據(jù)包,并保存到tcpdump_80
tcpdump port 80 -w tcpdump_80
- 2 捕獲eth0網(wǎng)卡扁凛,端口是80并且只有源是9.123.123.5的進(jìn)的tcp數(shù)據(jù)包
tcpdump -i eth0 tcp and port 80 and src 9.123.123.5 -w tcpdupm_80
- 3 捕獲eth0網(wǎng)卡,端口是80的所有的tcp數(shù)據(jù)包
tcpdump -i eth0 tcp and port 80 -w tcpdupm_80
- 4 捕獲所有網(wǎng)卡闯传,端口是80的并且不轉(zhuǎn)回hostname 而是也ip和端口輸出詳細(xì)的數(shù)據(jù)包
tcpdump -i any tcp and port 80 -n -nn -v -vv -c 1000 -w tcpdump_80
-n -nn : 不轉(zhuǎn)換ip和port
-v -vv : 盡量以詳細(xì)一點(diǎn)輸出
-c : 捕獲1000個(gè)收到的數(shù)據(jù)包谨朝,達(dá)到數(shù)量后停止捕獲
- 5 捕獲所有網(wǎng)卡,端口是80的并且不轉(zhuǎn)回hostname 而是也ip和端口輸出詳細(xì)的數(shù)據(jù)包
mkdir -p /data/dumpfile/dumpfile_all && chmod -R 777 /data/dumpfile/dumpfile_all && cd /data/dumpfile/dumpfile_all
tcpdump -i any tcp and port 80 -n -nn -v -vv -C 30 -W 100 -s 80 -w tcpdump_80
-n -nn:不轉(zhuǎn)換ip和port
-v -vv : 盡量以詳細(xì)一點(diǎn)輸出
-C 30: 每個(gè)文件30M
-W 100: 收集100個(gè)文件甥绿,100個(gè)文件寫(xiě)滿后會(huì)循環(huán)覆蓋第一個(gè)文件
-s 80: 每個(gè)數(shù)據(jù)包80byte