wireshark使用簡介
wireshark界面簡介
- Wireshark是世界上最流行的網絡分析工具。這個強大的工具可以捕捉網絡中的數據,並為用戶提供關於網絡和上層協議的各種信息。與很多其他網絡工具一樣,Wireshark也使用pcap network library來進行封包捕捉。可破解局域網內QQ、郵箱、msn、賬號等的密碼。
MENUS(菜單)
程序上方的8個菜單項用於對Wireshark進行配置:
- "File"(文件)打開或保存捕獲的信息。
- "Edit" (編輯)查找或標記封包。進行全局設置。
- "View"(查看)設置Wireshark的視圖。
- "Go" (轉到)跳轉到捕獲的數據。
- "Capture"(捕獲)設置捕捉過濾器並開始捕捉。
- "Analyze"(分析)設置分析選項。
- "Statistics" (統計)查看Wireshark的統計信息。
- "Help" (幫助)查看本地或者在線支持。
SHORTCUTS(快捷方式)
- wireshark shortcuts 在菜單下面,是一些常用的快捷按鈕。可以將鼠標指針移動到某個圖標上以獲得其功能說明。
DISPLAY FILTER(顯示過濾器)
wireshark display filter 顯示過濾器用於查找捕捉記錄中的內容。請不要將捕捉過濾器和顯示過濾器的概念相混淆。
PACKET LIST PANE(封包列表)
- 封包列表中顯示所有已經捕獲的封包。在這里可以看到發送或接收方的MAC/IP地址,TCP/UDP端口號,協議或者封包的內容。
- 如果捕獲的是一個OSI layer 2的封包,在Source(來源)和Destination(目的地)列中看到的將是MAC地址,當然,此時Port(端口)列將會為空。
- 如果捕獲的是一個OSI layer 3或者更高層的封包,在Source(來源)和Destination(目的地)列中看到的將是IP地址。Port(端口)列僅會在這個封包屬於第4或者更高層時才會顯示。
- 可以在這里添加/刪除列或者改變各列的顏色:
Edit menu -> Preferences
PACKET DETAILS PANE(封包詳細信息)
- 這里顯示的是在封包列表中被選中項目的詳細信息。
DISSECTOR PANE(16進制數據)
- “解析器”在Wireshark中也被叫做“16進制數據查看面板”。這里顯示的內容與“封包詳細信息”中相同,只是改為以16進制的格式表述。
** MISCELLANOUS(雜項)**
- 在程序的最下端,可以獲得如下信息:
- 正在進行捕捉的網絡設備。
- 捕捉是否已經開始或已經停止。
- 捕捉結果的保存位置。
- 已捕捉的數據量。
- 已捕捉封包的數量。(P)
- 顯示的封包數量。(D) (經過顯示過濾器過濾后仍然顯示的封包)
- 被標記的封包數量。(M)
過濾器
- 使用Wireshark時最常見的問題,是當使用默認設置時,會得到大量冗余信息,以至於很難找到自己需要的部分。這就是為什么過濾器會如此重要。它們可以幫助我們在龐雜的結果中迅速找到我們需要的信息。
- 捕捉過濾器:用於決定將什么樣的信息記錄在捕捉結果中。需要在開始捕捉前設置。在Capture -> Capture Filters 中設置。
- 顯示過濾器:在捕捉結果中進行詳細查找。他們可以在得到捕捉結果后隨意修改。
過濾表達式的規則
協議過濾
- 比如TCP,只顯示TCP協議。
IP 過濾
- 比如
ip.src ==192.168.1.102 顯示源地址為192.168.1.102,
ip.dst==192.168.1.102, 目標地址為192.168.1.102
- 端口過濾
tcp.port ==80, 端口為80的
tcp.srcport == 80, 只顯示TCP協議的願端口為80的。
Http模式過濾
- http.request.method=="GET", 只顯示HTTP GET方法的。
邏輯運算符為 AND/ OR
- 常用的過濾表達式
封包詳細信息
- 各行信息分別為
Frame: 物理層的數據幀概況
Ethernet II: 數據鏈路層以太網幀頭部信息
Internet Protocol Version 4: 互聯網層IP包頭部信息
Transmission Control Protocol: 傳輸層T的數據段頭部信息,此處是TCP
Hypertext Transfer Protocol: 應用層的信息,此處是HTTP協議
TCP包的具體內容
- 從下圖可以看到wireshark捕獲到的TCP包中的每個字段。
三次握手過程
-
打開wireshark, 然后隨便打開一個網頁,雙擊WLAN進行捕獲。
-
在wireshark中輸入tcp過濾, 然后會發現HTTP 525GET的那條記錄,如下圖所示
-
圖中可以看到wireshark截獲到了三次握手的三個數據包,第四個包是HTTP的,這說明HTTP的確是使用TCP建立連接的。
-
第一次握手
客戶端發送一個TCP,標志位為SYN,序列號為0, 代表客戶端請求建立連接。
-第二次握手
服務器發回確認包, 標志位為 SYN,ACK. 將確認序號設置為客戶的I S N加1,即0+1=1
- 第三次握手
客戶端再次發送確認包(ACK) SYN標志位為0,ACK標志位為1.並且把服務器發來ACK的序號字段+1,放在確定字段中發送給對方.並且在數據段放寫ISN的+1。
就這樣通過了TCP三次握手,建立了連接。
感想
wireshark可以幫助我們獲得網絡連接中的各項數據,以前對於上網、訪問網頁只是一個抽象的概念,並不知道我們到底是如何瀏覽那些網絡信息的,利用wireshark可以將這些概念實體化,各項數據直觀的展現了網絡連接、網頁訪問的全過程。第一次安裝使用這個軟件可能很多同學並不熟練,只知道哪里點一下可以出來什么東西,wireshark窗口顯示的信息有的也不知道是什么,希望這篇博客可以讓同學們更好地了解這款軟件,對以后的學習也能有所幫助。