Windows版Tcpdump抓包工具

windows命令行下抓包的工具比較難找,windump確實是命令行下的,但是它需要安裝winpcap,而winpcap從3.0開始官方就已經不提供nogui的安裝包,終於給我找到一個windows版本的tcpdump,而且不需要另外安裝winpcap
這個軟件是收費的,不過官方說試用版是全功能
另外注意:tcpdump抓包時默認只抓取前96bytes,所以當需要抓取全部的報文時需要指定-s 0
——————————————————————————————————
tcpdump參數及使用介紹
tcpdump的參數介紹
-a 將網絡地址和廣播地址轉變成名字;
-d 將匹配信息包的代碼以人們能夠理解的彙編格式給出;
-dd 將匹配信息包的代碼以c語言程序段的格式給出;
-ddd 將匹配信息包的代碼以十進制的形式給出;
-e 在輸出行打印出數據鏈路層的頭部信息;
-f 將外部的Internet地址以數字的形式打印出來;
-l 使標準輸出變爲緩衝行形式;
-n 不把網絡地址轉換成名字;
-t 在輸出的每一行不打印時間戳;
-v 輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息;
-vv 輸出詳細的報文信息;
-c 在收到指定的包的數目後,tcpdump就會停止;
-F 從指定的文件中讀取表達式,忽略其它的表達式;
-i 指定監聽的網絡接口;
-r 從指定的文件中讀取包(這些包一般通過-w選項產生);
-w 直接將包寫入文件中,並不分析和打印出來;
-T 將監聽到的包直接解釋爲指定的類型的報文,常見的類型有rpc(遠程過程調用)和snmp(簡單網絡管理協議)
-p 指定協議tcp,udp,icmp,arp
-s 指定捕獲數包字的大小,單位byte,默認96最大65536























可使用關鍵字:
協議,-p tcp,udp,icmp,arp等
數據包:dst,src,port,dst port,src port,host
運算符:or and not(!)
多條件:dst /(172.16.1.1 or 172.16.1.13 /) 用括號及/轉義
在進行嗅探的時候,必須置於混雜模式才能嗅探,系統會有日誌記錄
grep “promiscuous” /var/log/messages //混雜模式
用TCPDUMP捕獲的TCP包的一般輸出信息是:
src.port > dst.port: flags data-Seq ack win urgent options
src.port > dst.port: 源地址.源端口 到 目的地址.目的端口
flags: TCP包中的標誌信息,S 是SYN標誌, F (FIN), P (PUSH)
R (RST) “.” (沒有標記)
data-Seq: 是數據包中Sequence number(順序號碼)
ack: Acknowledge number(確認號碼)
window是接收緩存的窗口大小,
urgent表明數據包中是否有緊急指針.
注tcp標誌位:
SYN(synchronous建立聯機) ACK(acknowledgement 確認)
PSH(push傳送) FIN(finish結束) RST(reset重置) URG(urgent緊急)
——————————————————————————————————
事例:
查看icmp包:
1,tcpdump -i eth0 -p icmp (and src 192.168.1.xxx)
查看廣播包:
2,tcpdump -i eth0 -p broadcast
查看arp包
3,tcpdump -i eth0 -p arp
4,tcpdump -X -i eth0 -p tcp port 21 //嗅探21端口數據並解包


























獲取ftp密碼實例:
1 tcpdump -X -i eth0 -p tcp port 21 > 21.log &
2 cat 21.log | grep "USER/."
3 cat 21.log | grep "PASS/."


更精確的嗅探:
嗅探從172.16.1.1到172.16.1.2端口爲21的數據包:
tcpdump -i eth0 -X -tnn -p tcp and src 172.16.1.1 and dst 172.16.1.2 and port 21

5.tcpdump -X -n -p tcp dst port 80 //嗅探80端口數據,並解包 (加-t就不顯示時間)

6.tcpdump -i eth0 host 202.96.128.68 //指定主機

7,//嗅探從172.16.1.2到172.16.1.1 或者172.16.1.13的數據包
tcpdump -i eth0 -tnn src 172.16.1.2 and dst /(172.16.1.1 or 172.16.1.13/)

8,利用tcpdump統計各類數據包:
1 //統計1000個數據包中的ip連接量,並按從多到少的順序排序,列出前3名
2 tcpdump -i ethp -tnn -c 1000 | awk -F "." "{print $1"."$2"."$3"."$4}' | sort | uniq -c |sort -nr | head -n 3//按從大到小的順
3 序排序並列出並三名
4 tcpdump -i ethp -tnn -c 1000 | awk -F "." "{print $1"."$2"."$3"."$4}' | sort | uniq -c | awk '$1 > 100'//顯示大於100數據包
5 sort:排序 -nr 從大到小 -rn 從小到大
6 uniq -c:過濾重複並在前面打印重複的行數
7 awk '$1 > 100':如果$1參數(數字)大於100
8 head -n 3:顯示頭3行
9,tcpdump -i eth0 -tnn host 192.168.1.100 and -p tcp or udp or icmp //嗅探所有 tcp,udp,icmp消息所不轉換網絡名稱(加快速度)
10,嗅探dhcp服務器的ip(捕獲非法DHCP Server):
tcpdump -i eth0 -tnn port 67
然後用dhclient eth0進行dhcp請求,捉dhcp server的ip地址
或者直接看日誌啦cat /var/messages | grep “DHCPACK from”














下載地址
https://pan.baidu.com/s/1yBYAEmiJPK-dqOpYEpPO6Q【公衆號關注“Lee先生學IT”,發送“tcpdump下載碼”,獲取下載碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章