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...