日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

tcpdump 常用命令

發(fā)布時(shí)間:2023/12/31 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tcpdump 常用命令 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參數(shù):

tcpdump的選項(xiàng)
-a 將網(wǎng)絡(luò)地址和廣播地址轉(zhuǎn)變成名字
-d 將匹配信息包的代碼以人們能夠理解的匯編格式給出
-dd 將匹配信息包的代碼以c語(yǔ)言程序段的格式給出
-ddd 將匹配信息包的代碼以十進(jìn)制的形式給出
-e 在輸出行打印出數(shù)據(jù)鏈路層的頭部信息,包括源mac和目的mac,以及網(wǎng)絡(luò)層的協(xié)議
-f 將外部的Internet地址以數(shù)字的形式打印出來(lái)
-l 使標(biāo)準(zhǔn)輸出變?yōu)榫彌_行形式
-n 指定將每個(gè)監(jiān)聽(tīng)到數(shù)據(jù)包中的域名轉(zhuǎn)換成IP地址后顯示,不把網(wǎng)絡(luò)地址轉(zhuǎn)換成名字
-t 在輸出的每一行不打印時(shí)間戳
-v 輸出一個(gè)稍微詳細(xì)的信息,例如在ip包中可以包括ttl和服務(wù)類(lèi)型的信息
-vv 輸出詳細(xì)的報(bào)文信息
-c 在收到指定的包的數(shù)目后,tcpdump就會(huì)停止
-F 從指定的文件中讀取表達(dá)式,忽略其它的表達(dá)式
-i 指定監(jiān)聽(tīng)的網(wǎng)絡(luò)接口
-p 將網(wǎng)卡設(shè)置為非混雜模式,不能與host或broadcast一起使用
-r 從指定的文件中讀取包(這些包一般通過(guò)-w選項(xiàng)產(chǎn)生)
-w 直接將包寫(xiě)入文件中,并不分析和打印出來(lái)
-s snaplen表示從一個(gè)包中截取的字節(jié)數(shù)。0表示包不截?cái)?#xff0c;抓完整的數(shù)據(jù)包。默認(rèn)的話(huà) tcpdump 只顯示部分?jǐn)?shù)據(jù)包,默認(rèn)68字節(jié)
-T 將監(jiān)聽(tīng)到的包直接解釋為指定的類(lèi)型的報(bào)文,常見(jiàn)的類(lèi)型有rpc (遠(yuǎn)程過(guò)程調(diào)用)和snmp(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)
-X 告訴tcpdump命令,需要把協(xié)議頭和包內(nèi)容都原原本本的顯示出來(lái)(tcpdump會(huì)以16進(jìn)制和ASCII的形式顯示)-vvv:產(chǎn)生比-vv更詳細(xì)的輸出。
-XX:輸出包的頭部數(shù)據(jù),會(huì)以16進(jìn)制和ASCII兩種方式同時(shí)輸出。
-nn :直接以IP以及PORT number顯示,而非主機(jī)名與服務(wù)名稱(chēng)

關(guān)鍵字:
主機(jī):host、src host、dst host
網(wǎng)段:net、src net、dst net
端口:port、src port、dst port
協(xié)議:ip、arp、icmp、tcp、udp、ip6
表達(dá)式:and or not,也可以是&& || ! 來(lái)表示
TCP Flags:tcp[tcpflags]

//獲取 br0 設(shè)備所有數(shù)據(jù) 時(shí)間 1500秒 保存文件名稱(chēng) test.pcap
./tcpdump -i br0 -s 1500 -w test.pcap

//獲取環(huán)網(wǎng)數(shù)據(jù) IP 127.0.0.1 端口 12766 數(shù)據(jù)并顯示 包頭 和 負(fù)載
./tcpdump -i lo port 12766 -XX -v -nn

//獲取 目的主機(jī)為 172.16.1.1 端口為 80 的包
tcpdump -i eth1 src host 172.16.1.1 and port 80

//獲取目的主機(jī)是172.16.1.1 且 源主機(jī)是1.2 或 1.3 的包
tcpdump -i eth1 dst host 172.16.1.1 and src host / (172.16.1.2 or 172.16.1.3 /)

//獲取 源端口為 80的包
tcpdump -i eth1 src port 80

//抓取所有經(jīng)過(guò)eth1的、協(xié)議相關(guān)的操作
tcpdump -i eth1 ip
tcpdump -i eth1 icmp
tcpdump -i eth1 tcp
tcpdump -i eth1 udp

//抓取回環(huán)網(wǎng)口的包:
tcpdump -i lo
//防止包截?cái)?#xff1a;
tcpdump -s0
//以數(shù)字顯示主機(jī)及端口:
tcpdump -n

// -l 參數(shù) 結(jié)合 管道處理數(shù)據(jù)
// 過(guò)濾數(shù)據(jù)長(zhǎng)度為88 的包
tcpdump -i lo udp -v -nn -l | grep "length 88"
tcpdump -i lo udp -X -v -nn -l | awk '{print $1}'

//過(guò)濾源主機(jī)mac為00:00:00:11:22的報(bào)頭
tcpdump ether src 00:00:00:11:22

//基于網(wǎng)段過(guò)濾 過(guò)濾所有172.16.1.*
tcpdump net 172.16.1.0/24

//找出一段時(shí)間內(nèi)發(fā)包最多的 IP,或者從一堆報(bào)文中找出發(fā)包最多的 IP,可以使用下面的命令:
$ tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20
cut -f 1,2,3,4 -d '.' : 以 . 為分隔符,打印出每行的前四列。即 IP 地址。sort | uniq -c : 排序并計(jì)數(shù)sort -nr : 按照數(shù)值大小逆向排序

//指定具體數(shù)據(jù)
// tcp包長(zhǎng)度 > 100
./tcpdump -i br0 -XX -n port 80 and 'tcp[2:2]>100'

// 過(guò)濾 udp 負(fù)載長(zhǎng)度? = 12
// UDP包結(jié)構(gòu)? (長(zhǎng)度 = UDP包頭長(zhǎng)度 8 + 負(fù)載長(zhǎng)度)第5個(gè)字節(jié)開(kāi)始計(jì)算,數(shù)組坐標(biāo)從0開(kāi)始計(jì)算
| 源端口 2 | 目的端口 2 | 長(zhǎng)度2 | 校驗(yàn)和2 | 負(fù)載 |
//所有負(fù)載長(zhǎng)度=12 -->? udp數(shù)據(jù)包的長(zhǎng)度 = 8 + 12 = 20
//負(fù)載數(shù)據(jù)偏移地址 = udp[8+N:L]?? (N=0 是數(shù)據(jù)部分起始地址 L是截取數(shù)據(jù)部分長(zhǎng)度)
./tcpdump -i br0 -XX -n port 80 and 'udp[4:2]=20'

//ip長(zhǎng)度 20 只抓取 udp 數(shù)據(jù) 協(xié)議部分要寫(xiě)在最前頭
./tcpdump udp? -i br0 -XX -n port 80 and 'ip[2:2]=20'


參考:https://baijiahao.baidu.com/s?id=1671144485218215170&wfr=spider&for=pchttps://baijiahao.baidu.com/s?id=1671144485218215170&wfr=spider&for=pc

總結(jié)

以上是生活随笔為你收集整理的tcpdump 常用命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。