tcpdump 是一款強大的網路抓包工具,執行在 linux 平台上。熟悉 tcpdump 的使用能夠幫助你分析、除錯網路資料。
-n 表示不要解析網域名稱,直接顯示 ip。
-nn** 不要解析網域名稱和埠。
-x 同時用 hex 和 ascii 顯示報文的內容。
-xx 同 -x,但同時顯示乙太網頭部。
-s 顯示絕對的序列號(sequence number),而不是相對編號。
-i 監聽的網絡卡。
-v, -vv, -vvv 顯示更多的詳細資訊。
-c number 擷取 number 個報文,然後結束。
-a 只使用 ascii 列印報文的全部資料,不要和 -x 一起使用。
-d 列出所有可以監控的網絡卡。
-s 指定每條報文的最大位元組數,預設為262144,如果值為0時,表示不截斷,抓取完整的資料報
機器上的網路報文數量異常的多,很多時候我們只關係和具體問題有關的資料報(比如訪問某個**的資料,或者 icmp 超時的報文等等),而這些資料只佔到很小的一部分。把所有的資料擷取下來,從裡面找到想要的資訊無疑是一件很費時費力的工作。而 tcpdump 提供了靈活的語法可以精確地擷取關心的資料報,簡化分析的工作量。這些選擇資料報的語句就是過濾器(filter)!
過濾器也可以簡單地分為三類:type, dir 和 proto。
type 讓你區分報文的型別,主要由 host(主機), net(網路) 和 port(埠) 組成。src(源位址) 和 dst(目的位址) 也可以用來過濾報文的源位址和目的位址。
過濾的真正強大之處在於你可以隨意組合它們,而連線它們的邏輯就是常用的 與/and/&& 、 或/or/|| 和 非/not/!。
1.監聽所有埠,直接顯示 ip 位址
tcpdump -ns
2.顯示更詳細的資料報文,包括 tos, ttl, checksum 等
tcpdump -nnvvs
3.顯示資料報的全部資料資訊,用 hex 和 ascii 兩列對比輸出
tcpdump -nnvvxs
4.監控乙個指定的網路介面
tcpdump -i eth0
5.基於ip查詢流量
tcpdump host 114.114.114.114
6.根據**和目標進行篩選
tcpdump src 1.1.1.1 (源位址)
tcpdump dst 1.0.0.1 (目的位址)
tcpdump not src 1.1.1.1 (過濾源位址)
tcpdump not dst 1.0.0.1 (過濾目的位址)
7.檢視某一網段或者子網的進出流量
tcpdump net 1.2.3.0/24
8.使用十六進製制輸出
tcpdump -c 1 -x icmp
9.顯示特定埠的流量
tcpdump port 3389
tcpdump src port 1025
tcpdump dst port 1026
10.顯示特定協議的流量
tcpdump icmp
tcpdump udp
tcpdump tcp
11.檢視某一範圍內的所有埠的流量
tcpdump portrange 21-23
12.將包存在檔案中
tcpdump port 80 -w capture_file
13.從檔案中讀取
tcpdump -r capture_file
14.來自特定的ip,發往特定的埠
tcpdump -nnvvs src 139.5.6.4 and dst port 3389
15.從某個網段來,到某個網段去
tcpdump -nvx src net 192.168.0.0/16 and dst net 10.0.0.0/8 or 172.16.0.0/16
16.到某個ip的非icmp流量
tcpdump dst 192.168.0.2 and src net and not icmp
tcpdump -vv src mars and not dst port 22
17.get請求
tcpdump -vvals0 | grep 'get'
tcpdump -s 0 -a 'tcp dst port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
18.post請求
10:35:26.790594 ip 192.168.1.1.domain > chenlvzhoudembp.52148: 8596 nxdomain 0/1/0 (106)
第一列:時分秒毫秒
第二列:網路協議
第三列:傳送方的ip位址+埠號(或者協議)
第四列:>
第五列:接收方的ip位址+埠號(或者協議)
第六列:冒號
第七列:flag識別符號:
[s]:建立連線的標識syn
[p]:傳送資料的標識
[f]:結束連線的標識fin
[.]:沒有標識
tcpdump 使用介紹
tcpdump 工具簡介 tcpdump 工具簡介1 定義 用簡單的話來定義 tcpdump 就是 dump the traffic on a network 根據使用者的定義對網路上的資料報進行截獲的包分析工具 2 功能 它支援針對網路層 協議 主機 網路或埠的過濾,並提供 and or not等...
全面介紹Linux下tcpdump的使用
本文將介紹tcpdump的大部分選項及其表示式的具體用法 tcpdump是linux上的網路抓包工具,可以監視所有經過網絡卡的流量包。tcpdump的命令格式為tcpdump options expression,通過表示式可以過濾流量。直接啟動tcpdump將監視第乙個網路介面上所有流過的資料報。...
tcpdump抓包命令介紹
tcpdump抓包命令 tcpdump vv s 0 i eth0 port 3306 w 123 a.txt tcpdump nnr a.txt more tcpdump是乙個用於擷取網路分組,並輸出分組內容的工具。tcpdump憑藉強大的功能和靈活的擷取策略,使其成為類unix系統下用於網路分析...