執行平台:windows/unix
軟體類別:免費軟體
**:windump是windows環境下一款經典的網路協議分析軟體,其unix版本名稱為tcpdump。它可以捕捉網路上兩台電腦之間所有的資料報,供網路管理員/入侵分析員做進一步流量分析和入侵檢測。在這種監視狀態下,任何兩台電腦之間都沒有秘密可言,所有的流量、所有的資料都逃不過你的眼睛(當然加密的資料不在討論範疇之內,而且,對資料報分析的結果依賴於你的tcp/ip知識和經驗,不同水平的人得出的結果可能會大相徑庭)。如果你做過debug或者反彙編,你會發現二者是那麼驚人的相似。在w.richard stevens的鼎鼎大作《tcp/ip詳解》卷一中,通篇採用tcpdump捕捉的資料報來向讀者講解tcp/ip;而當年美國最出色的電腦安全專家下村勉在追捕世界頭號黑客公尺特尼克時,也使用了tcpdump,tcpdump/windump的價值由此可見一斑。
現在我們開啟乙個命令提示符,執行windump後出現:
d:\tools>windump
windump: listening on \device\npf_
這表示windump正在監聽我的網絡卡,網絡卡的裝置名稱是:
\device\npf_
usage: windump [-aaddeflnnopqrstuvxx] [-b size] [-c count] [ -c file_size ] [ -f file ] [ -i inte***ce ] [ -r file ] [ -s snaplen ] [ -t type ] [ -w file ] [ -e algo:secret ] [ expression ]
下面我來結合tcp的三步握手來介紹windump的使用,請接著往下看:
d:\tools>windump -n
windump: listening on \device\npf_
09:32:30.977290 ip 192.168.0.226.3295 > 192.168.0.10.80: s 912144276:912144276(0) win 64240 (df)//第一行
09:32:30.978165 ip 192.168.0.10.80 > 192.168.0.226.3295: s 2733950406:2733950406(0) ack 912144277 win 8760 (df)//第二行
09:32:30.978191 ip 192.168.0.226.3295 > 192.168.0.10.80: . ack 1 win 64240 (df)//第三行
先看第一行。其中09:32:30.977290表示時間;192.168.0.226為源ip位址,埠3295,其實就是我自己的那台電腦;192.168.0.10是目的位址,埠80,我們可以判斷這是連線在遠端主機的web服務上面;s 912144276:912144276(0)表示我的電腦主動發起了乙個syn請求,這是第一步握手,912144276是請求端的初始序列號;win 64240 表示發端通告的視窗大小;mss 1460表示由發端指明的最大報文段長度。這一行所表示的含義是ip位址為192.168.0.226的電腦向ip位址為61.133.136.34的電腦發起乙個tcp的連線請求。
接下來我們看第二行,時間不說了;源ip位址為192.168.0.10,而目的ip位址變為192.168.0.226;後面是s 2733950406:2733950406(0) ack 912144277,這是第二步握手,2733950406是伺服器端所給的初始序列號,ack 912144277是確認序號,是對第一行中客戶端發起請求的初始序列號加1。該行表示伺服器端接受客戶端發起的tcp連線請求,並發出自己的初始序列號。
再看第三行,這是三步握手的最後一步,客戶端傳送ack 1,表示三步握手已經正常結束,下面就可以傳送資料了。
在這個例子裡面,我們使用了-n的引數,表示源位址和目的位址不採用主機名的形式顯示而採用ip位址的形式。下面我們再來看看如果三步握手不成功會是怎麼樣。我先telnet到一台沒有開telnet服務的計算機上面:
c:\documents and settings\administrator>telnet 192.168.0.10
正在連線到192.168.0.10...不能開啟到主機的連線, 在埠 23.
由於目標機器積極拒絕,無法連線。
這個時候我們再看windump所抓獲的資料報:
d:\tools>windump -n
windump: listening on \device\npf_
10:38:22.006930 arp who-has 192.168.0.10 tell 192.168.0.226//第三行
10:38:22.007150 arp reply 192.168.0.10 is-at 0:60:8:92:e2:d//第四行
10:38:22.007158 ip 192.168.0.226.3324 > 192.168.0.10.23: s 1898244210:1898244210
(0) win 64240 (df)
//第五行
10:38:22.007344 ip 192.168.0.10.23 > 192.168.0.226.3324: r 0:0(0) ack 1898244211 win 0
//第六行
10:38:22.478431 ip 192.168.0.226.3324 > 192.168.0.10.23: s 1898244210:1898244210(0) win 64240 (df)
10:38:22.478654 ip 192.168.0.10.23 > 192.168.0.226.3324: r 0:0(0) ack 1 win 0
10:38:22.979156 ip 192.168.0.226.3324 > 192.168.0.10.23: s 1898244210:1898244210
(0) win 64240 (df)
10:38:22.979380 ip 192.168.0.10.23 > 192.168.0.226.3324: r 0:0(0) ack 1 win 0
從第三行中,我們可以看見192.168.0.226因為不知道192.168.0.10的mac位址,所以首先傳送arp廣播包;在第四行中,192.168.0.10回應192.168.0.226的請求,告訴192.168.0.226它的mac位址是0:60:8:92:e2:d。
第五行中,192.168.0.226向192.168.0.10發起syn請求,但在第六行中,我們可以看見,因為目標主機拒絕了這一請求,故傳送r 0:0(0)的響應,表示不接受192.168.0.226的請求。在接下來的幾行中我們看見192.168.0.226連續向192.168.0.10傳送syn請求,但都被目標主機拒絕。
網路流量分析
coding utf 8 import pyshark from scapy.all import import matplotlib.pyplot as plt 讀取pcap檔案 packets pyshark.filecapture net package.pcap def protocal p...
網路流量分析器
隨著網路變得越來越快和複雜,新的效能問題出現了。傳統的網路監控會花費太多的時間,網路分析師正在尋找這樣一種工具,不僅能幫助他們盡快找到問題的根源,而且能優化他們的工作流程。那麼,我們如何才能從廣闊的網路中,在任何地方,在幾秒鐘內,精確地看到流量,深入挖掘並找到潛在的弱點 伺服器擁塞 埠使用情況等等?...
tshark網路流量分析入門
大名鼎鼎的網路抓包分析包工具wireshark的終端命令列形式 tshark,除了互動式影象化介面,但凡wireshark具有的功能,它都具有。linux中安裝命令 sudo apt get install tshark在終端中開啟後,直接輸入不含任何引數控制的tshark命令後,會自動進行資料報抓...