Linux抓包命令tcpdump

2021-10-23 20:52:34 字數 1773 閱讀 9908

tcpdump是乙個抓包工具,用於抓取網際網路上傳輸的資料報

tcpdump是乙個用於擷取網路分組,並輸出分組內容的工具。憑藉強大的功能和靈活的擷取策略,使其成為類unix系統下用於網路分析和問題排查的首選工具

tcpdump 支援針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的資訊

#常用選項

-i       #監聽哪乙個網絡卡 

-n #不把ip解析成主機名

-nn #不把埠解析成應用層協議

-c #指定抓包的數量

-s #不把隨機序列和確認序列解析成絕對值

-w #將流量儲存到檔案中,檔案中的資訊是無法直接檢視的

-r #讀取檔案中的內容

-v #輸出乙個稍微詳細的資訊,例如在ip包中可以包括ttl和服務型別的資訊。

-vv #輸出詳細的報文資訊。

#例項

1、預設啟動

tcpdump -vv #普通情況下,直接啟動tcpdump將監視第乙個網路介面上所有流過的資料報。

2、過濾主機

tcpdump -i eth1 host 192.168.1.1 #抓取所有經過eth1,目的或源位址是192.168.1.1的網路資料

tcpdump -i eth1 src host 192.168.1.1 #指定源位址,192.168.1.1

tcpdump -i eth1 dst host 192.168.1.1 #指定目的位址,192.168.1.1

3、過濾埠

tcpdump -i eth1 port 80 #抓取所有經過eth1,目的或源埠是80的網路資料

tcpdump -i eth1 src port 80 #指定源埠

tcpdump -i eth1 dst port 80 #指定目的埠

4、協議過濾

tcpdump -i eth1 arp

tcpdump -i eth1 ip

tcpdump -i eth1 tcp

tcpdump -i eth1 udp

tcpdump -i eth1 icmp

#抓tcp某埠的資料報

tcpdump -i eth0 tcp port 21 -nn

5、常用表示式

非 : ! or "not" (去掉雙引號)

且 : && or "and"

或 : || or "or"

#抓取所有經過eth1,目的位址是192.168.1.254或192.168.1.200埠是80的tcp數

tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'

#抓取所有經過eth1,目標mac位址是00:01:02:03:04:05的icmp資料

tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'

#抓取所有經過eth1,目的網路是192.168,但目的主機不是192.168.1.200的tcp資料

tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'

Linux 抓包命令

tcpdump host 172.16.29.40 and port 4600 x s 500 tcpdump採用命令列方式,它的命令格式為 tcpdump adeflnnopqstvx c 數量 f 檔名 i 網路介面 r 檔名 s snaplen t 型別 w 檔名 表示式 1 tcpdump的...

linux抓包命令

想要截獲所有210.27.48.1 的主機收到的和發出的所有的資料報 tcpdump host 210.27.48.1 想要截獲主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通訊,使用命令 tcpdump host 210.27.48.1 and 210.27....

linux抓包命令

常用的抓包命令 i 後面跟引數網絡卡id 一般是eth0 nn 指定將每個監聽到的資料報中的網域名稱轉換成ip 埠從應用名稱轉換成埠號後顯示 vv 顯示特別詳細報文資訊 host 後面跟ip 表示只抓取這個關於這個ip的資料報 port 後面跟埠 表示只抓取關於這個埠的資料報 w 後面跟檔案targ...