簡介
本文檔介紹如何使用Wireshark捕獲和分析網路流量以便進行診斷。
概觀
Wireshark是可用於讀取和分析資料包捕獲(也稱為「TCP轉儲」)的免費應用程式。 資料包捕獲在資料包級別通過網路介面卡顯示所有通訊,從而能夠檢視DNS、HTTP、ping和其他流量型別。資料包捕獲作為深度故障排除的診斷步驟尤其重要,隨著SIG的引入,資料包捕獲現在已經成為診斷過程的基本部分。
附註:Wireshark會捕獲選定介面卡上的所有流量。由於資料包捕獲通常包含個人身份資訊(PII),因此始終使用安全方法(如Box連結)在支援情況下共用捕獲檔案。
獲取Wireshark
您可以在以下位置下載用於Windows、macOS或Linux的Wireshark:https://www.wireshark.org/
收集資料包捕獲
- 選擇連線到Internet的網路介面卡,並在Wireshark中開始捕獲。
- 捕獲時,重現要診斷的問題。
- 完成後停止捕獲並將檔案另存為
.pcap。
基本埠和協定
- 大多數資料包在傳輸層協定TCP或UDP上通訊
- 例如,預設情況下,「DNS」在UDP上運行。如果TCP失敗,它會切換到UDP。
- HTTP和DNS是在傳輸協定+埠的組合上運行的常見協定。
傳輸層協定
|
連接埠
|
通訊協定名稱
|
使用率
|
| TCP |
22 |
SSH |
遠端VA訪問 |
| TCP |
25 |
SMTP |
VA監控 |
| IP |
50 |
ESP(封裝安全負載) |
機密性、資料完整性、源驗證 |
| IP |
51 |
AH(驗證標頭) |
資料完整性,源驗證 |
| UDP |
53 |
DNS |
DNS預設值 |
| TCP |
53 |
DNS |
DNS故障轉移 |
| TCP |
80 |
HTTP |
Web流量(未加密)、API |
| UDP |
123 |
NTP |
VA時間同步 |
| TCP |
443 |
HTTPS |
加密的Web流量、API、AD聯結器與VA |
| UDP |
443 |
HTTPS |
RC加密的DNS查詢 |
| UDP |
500 |
IKE |
IPsec通道協商 |
| UDP |
4500 |
NAT-T |
IPsec隧道的NAT遍歷 |
| TCP |
8080 |
HTTP |
與VA通訊的AD聯結器 |
瞭解協定名稱、埠及其用途有助於識別和分析Wireshark中的相關流量。
基本運算子
在Wireshark中構建過濾器字串時,請使用以下運算子:
==:等於(示例:ip.dst==1.2.3.4)
!=:不等於(例如:ip!=dst.1.2.3.4)
&:以及(示例:ip.dst==1.2.3.4 && ip.src==208.67.222.222)
||:或(示例:ip.dst==1.2.3.4) || ip.dst==1.2.3.5)
有關高級過濾器選項,請參閱Wireshark文檔:6.4.建立顯示篩選器表達式
篩選條件
封包擷取可能包含數千個封包。過濾器可幫助您關注特定流量型別:
-
按協定:
dns — 僅顯示DNS流量
http || dns — 顯示HTTP或DNS流量
-
按IP地址:
ip.addr==<IP> — 所有來往流量<IP>
ip.src==<IP> -來自<IP>的所有流量
ip.dst==<IP> -到<IP>的所有流量
-
其他:
tcp.flags.reset.== — 檢查TCP重設(逾時)
dns.qry.name包含「[域]」 — 與域匹配的DNS查詢
tcp.port==80 || udp.port/== -埠80上的TCP或UDP流量
檢視和分析資料包
找到資料包後,展開Wireshark中的資料段以分析詳細資訊。熟悉協定結構有助於解釋這些細節,甚至可以在需要時重新構建資料。
跟隨資料流
使用資料包清單查詢請求和響應對。按一下右鍵資料包並選擇Follow > TCP Stream、UDP Stream、TLS Stream或HTTP Stream以檢視相關請求和響應序列。
- 對於具有多個交換的協定(例如HTTP),這比對於單請求協定(例如DNS)更有用。