指南:從抓包原理到網(wǎng)絡(luò)故障排查)
1. 項目概述從“看熱鬧”到“看門道”的網(wǎng)絡(luò)診斷之旅如果你曾經(jīng)好奇過當(dāng)你在瀏覽器里輸入一個網(wǎng)址按下回車后你的電腦和遠(yuǎn)方的服務(wù)器之間究竟“聊”了些什么或者當(dāng)網(wǎng)絡(luò)突然變慢、某個應(yīng)用連不上時你迫切想知道問題到底出在哪一環(huán)——那么Wireshark就是你一直在尋找的那把“手術(shù)刀”。它不是什么高深莫測的黑客專屬工具而是一個開源的網(wǎng)絡(luò)協(xié)議分析器簡單說就是一個給網(wǎng)絡(luò)流量“拍X光片”的儀器。我的日常工作有很大一部分就是和它打交道從排查復(fù)雜的生產(chǎn)環(huán)境網(wǎng)絡(luò)故障到分析應(yīng)用層的性能瓶頸Wireshark幾乎是我數(shù)字工具箱里使用頻率最高的工具之一。很多人對Wireshark望而卻步覺得它界面復(fù)雜、數(shù)據(jù)包眼花繚亂不知從何下手。這就像給一個從沒看過電路圖的人直接塞上一張完整的PCB布局圖他當(dāng)然會懵。但我想告訴你的是掌握Wireshark的核心使用邏輯遠(yuǎn)比死記硬背所有按鈕功能重要。本次動手實操的目的就是帶你繞過那些枯燥的菜單介紹直接進(jìn)入“實戰(zhàn)-觀察-理解”的循環(huán)。我們將通過幾個具體的、你明天就可能遇到的場景比如“網(wǎng)站登錄時密碼真的安全嗎”、“我的電腦為什么獲取不到IP地址”來親手捕獲并解讀數(shù)據(jù)包。你會發(fā)現(xiàn)網(wǎng)絡(luò)協(xié)議不再是教科書上冰冷的條文而是眼前一行行鮮活、有故事的對話記錄。無論你是運維工程師、開發(fā)人員還是單純對網(wǎng)絡(luò)技術(shù)充滿好奇的愛好者這次實操都能讓你獲得即學(xué)即用的診斷能力真正理解數(shù)據(jù)如何在網(wǎng)絡(luò)中穿梭。2. Wireshark核心設(shè)計思路與抓包原理拆解在點擊那個綠色的鯊魚鰭圖標(biāo)之前我們有必要先搞明白Wireshark是怎么“聽到”網(wǎng)絡(luò)對話的。這決定了你能抓到什么以及在哪里抓。2.1 抓包的本質(zhì)網(wǎng)卡的“監(jiān)聽模式”你的電腦網(wǎng)卡通常工作在“普通模式”它只關(guān)心發(fā)給自己的數(shù)據(jù)包比如目標(biāo)MAC地址是自己的或者目標(biāo)是廣播地址。而抓包需要網(wǎng)卡進(jìn)入一種稱為“混雜模式”的狀態(tài)。在此模式下網(wǎng)卡會像一個大喇叭把它所在網(wǎng)絡(luò)鏈路上所有流經(jīng)的、它能“聽”到的數(shù)據(jù)包不管是不是發(fā)給自己的統(tǒng)統(tǒng)收下來交給Wireshark處理。這里就引出了第一個關(guān)鍵點抓包位置決定視野范圍。抓取本機流量在你自己電腦上抓包你能看到所有從本機發(fā)出和接收的流量。這對于調(diào)試本機應(yīng)用程序的網(wǎng)絡(luò)行為至關(guān)重要。抓取網(wǎng)絡(luò)鏈路流量如果你想分析同一局域網(wǎng)內(nèi)其他設(shè)備之間的通信比如手機和路由器就需要將你的電腦“串入”或者“旁路”到它們的通信路徑上。家庭環(huán)境下最簡單的辦法是使用集線器現(xiàn)已罕見或者配置具備端口鏡像功能的交換機將目標(biāo)端口的流量復(fù)制一份到你的電腦所接端口。在云環(huán)境或復(fù)雜企業(yè)網(wǎng)中這通常需要網(wǎng)絡(luò)管理員配合。注意現(xiàn)代操作系統(tǒng)出于安全考慮對普通用戶權(quán)限開啟網(wǎng)卡混雜模式有嚴(yán)格限制。因此在Windows或macOS上安裝Wireshark時通常會同時安裝一個叫WinPcapWindows或libpcapmacOS/Linux的驅(qū)動組件。這個組件是Wireshark與網(wǎng)卡之間的橋梁它負(fù)責(zé)以特權(quán)模式操作網(wǎng)卡實現(xiàn)抓包功能。安裝時務(wù)必允許其安裝。2.2 Wireshark的層次化解析哲學(xué)Wireshark的強大在于它不僅僅是一個“抓包工具”更是一個“協(xié)議解碼器”。網(wǎng)絡(luò)通信是分層的如TCP/IP模型從最底層的物理幀到上層的應(yīng)用數(shù)據(jù)每一層都有自己的協(xié)議頭和格式。Wireshark的核心工作流程可以概括為捕獲通過libpcap/WinPcap驅(qū)動從網(wǎng)卡獲取原始二進(jìn)制數(shù)據(jù)流。解碼按照協(xié)議棧自底向上逐層解析。先識別以太網(wǎng)幀頭目標(biāo)/源MAC地址、類型再根據(jù)類型判斷是IPv4還是IPv6包解析IP頭源/目標(biāo)IP地址接著根據(jù)IP頭中的協(xié)議號判斷是TCP還是UDP解析TCP/UDP頭端口號、序列號等最后將應(yīng)用層數(shù)據(jù)如HTTP、DNS交給對應(yīng)的解析器。展示將解碼后的信息以人性化的方式在圖形界面中呈現(xiàn)出來包括摘要列表、協(xié)議詳情樹和原始字節(jié)數(shù)據(jù)。這種設(shè)計帶來的好處是你可以點擊任何一個數(shù)據(jù)包清晰地看到它每一層“外套”里裝了什么信息。例如在分析網(wǎng)頁加載慢的問題時你可以先看TCP層有沒有重傳、亂序再看HTTP層具體的請求和響應(yīng)時間。這種分層定位問題的能力是Wireshark不可替代的價值。3. 從安裝到首抓避開初學(xué)者的那些“坑”讓我們跳過繁瑣的官網(wǎng)下載步驟描述你總能找到下載按鈕直接聚焦在安裝和第一次抓包時那些容易出錯、導(dǎo)致“為什么我抓不到包”的關(guān)鍵環(huán)節(jié)。3.1 安裝時的關(guān)鍵選擇與權(quán)限配置無論從官網(wǎng)還是包管理器安裝你都會遇到幾個重要選項安裝WinPcap/NpcapWindows這是必選項。通常推薦選擇安裝Npcap如果提供它是WinPcap的現(xiàn)代替代品支持更多特性如環(huán)回接口抓包。務(wù)必勾選“Install Npcap in WinPcap API-compatible Mode”以確保最大兼容性。安裝USBPcap可選如果你后續(xù)有抓取USB設(shè)備數(shù)據(jù)流的需求比如分析USB鍵盤、存儲設(shè)備的通信則需要勾選此組件。對于本次入門可以先不裝。創(chuàng)建桌面快捷方式建議勾選。安裝完成后最重要的一步不要直接雙擊打開Wireshark。在Windows上請右鍵點擊Wireshark圖標(biāo)選擇“以管理員身份運行”。在macOS/Linux上首次啟動可能需要在終端使用sudo wireshark命令。這是因為抓包需要極高的系統(tǒng)權(quán)限。如果以普通權(quán)限運行你會看到網(wǎng)卡列表是灰色的無法開始捕獲。3.2 選擇正確的網(wǎng)絡(luò)接口與首次捕獲過濾器以管理員身份啟動后你會看到主界面列出了所有網(wǎng)絡(luò)接口。每個接口后面的波動條顯示了實時流量強度這是一個快速判斷哪個接口正在活躍的好方法。以太網(wǎng)/Wi-Fi接口名稱通常類似“Ethernet”、“Wi-Fi”、“en0”、“wlan0”。選擇你正在上網(wǎng)用的那個。環(huán)回接口Loopback名稱通常為“l(fā)o”、“Loopback”、“Adapter for loopback traffic”。這個接口用于捕獲本機內(nèi)部進(jìn)程間通過localhost127.0.0.1通信的流量對于調(diào)試本地開發(fā)的Web服務(wù)、數(shù)據(jù)庫連接等場景極其有用。第一個實操動作選擇你的無線或有線網(wǎng)卡然后直接點擊左上角的藍(lán)色鯊魚鰭按鈕開始抓包。瞬間你會看到數(shù)據(jù)包如瀑布般滾動。別慌我們馬上讓它變得清晰。立即應(yīng)用第一個過濾器在過濾器欄Filter中輸入http并回車?,F(xiàn)在界面應(yīng)該清爽了很多只顯示HTTP協(xié)議的數(shù)據(jù)包。我們打開瀏覽器隨便訪問一個http注意不是https開頭的網(wǎng)站。你應(yīng)該能看到捕獲到的GET請求和服務(wù)器返回的響應(yīng)包。恭喜你完成了第一次有目的的抓包實操心得很多新手會卡在“看不到任何包”或者“包太多眼花繚亂”這兩個極端。前者通常是權(quán)限問題或選錯了接口比如選了沒插網(wǎng)線的端口。后者則是沒有使用過濾器的結(jié)果。記住**“先廣撒網(wǎng)再精準(zhǔn)過濾”**是使用Wireshark的基本心法。一開始可以短時間無過濾抓包觀察流量概況然后根據(jù)目標(biāo)比如分析某個網(wǎng)站快速設(shè)置過濾器。4. 核心技能一過濾器的藝術(shù)——從海量數(shù)據(jù)中快速定位過濾器是Wireshark的靈魂不會過濾就等于在數(shù)據(jù)海洋里溺水。它分為兩種捕獲過濾器和顯示過濾器用途截然不同。4.1 捕獲過濾器在“進(jìn)水口”設(shè)卡捕獲過濾器語法源于BPF在抓包開始前設(shè)置。它的目的是減少抓取到內(nèi)存或硬盤的數(shù)據(jù)量特別適合長時間抓取或在高流量環(huán)境中只關(guān)注特定流量。設(shè)置位置在“捕獲 - 選項”中對應(yīng)接口的“捕獲過濾器”欄。常用捕獲過濾器示例host 192.168.1.100只抓取與IP地址192.168.1.100有關(guān)的所有流量源或目標(biāo)。src host 192.168.1.1 and dst port 80只抓取從192.168.1.1發(fā)出且目標(biāo)端口是80HTTP的流量。net 192.168.1.0/24抓取整個192.168.1.x網(wǎng)段的所有流量。not arp不抓取ARP廣播包可以有效減少無關(guān)流量。注意事項捕獲過濾器設(shè)置得太嚴(yán)格可能會漏掉關(guān)鍵的前置協(xié)議包比如TCP三次握手導(dǎo)致后續(xù)分析時顯示不完整。對于問題排查我通常建議在資源允許的情況下先使用較寬松的過濾器如host 目標(biāo)IP或不用抓取完整會話再用顯示過濾器進(jìn)行后期分析。4.2 顯示過濾器在“水庫”里精篩顯示過濾器是Wireshark特有的強大語法用于對已經(jīng)抓取到的數(shù)據(jù)包進(jìn)行篩選展示。它的語法更直觀支持復(fù)雜的邏輯組合。常用顯示過濾器示例與解析協(xié)議過濾http、dns、tcp、udp。IP地址過濾ip.addr 192.168.1.100包含該IP的任意流量源或目標(biāo)。這是最常用的。ip.src 192.168.1.1源IP是該地址。ip.dst 8.8.8.8目標(biāo)IP是該地址。端口過濾tcp.port 443TCP源或目標(biāo)端口是443。tcp.srcport 5000TCP源端口是5000。udp.dstport 53UDP目標(biāo)端口是53DNS。邏輯組合http and ip.addr 192.168.1.100該IP地址的HTTP流量。tcp.port 80 or udp.port 53HTTP或DNS流量。!(arp or icmp)既不顯示ARP也不顯示ICMP包。內(nèi)容過濾深度包檢測http.request.method “GET”所有HTTP GET請求。http contains “password”HTTP協(xié)議中任何地方出現(xiàn)“password”字符串的數(shù)據(jù)包。這正是找出明文密碼的關(guān)鍵如果網(wǎng)站登錄未使用HTTPS使用此過濾器可以快速定位到包含密碼的POST請求包。tcp contains “facebook”TCP載荷中包含該字符串。一個綜合案例你想分析你的電腦IP: 192.168.1.10與谷歌DNS8.8.8.8之間的所有DNS查詢。顯示過濾器可以寫成ip.addr 192.168.1.10 and ip.addr 8.8.8.8 and udp.port 53。輸入時Wireshark的過濾器欄會有語法高亮和自動補全綠色表示語法正確紅色表示錯誤這是很好的學(xué)習(xí)輔助。5. 核心技能二協(xié)議解析與關(guān)鍵會話分析實戰(zhàn)掌握了過濾器我們就能像偵探一樣針對具體案件網(wǎng)絡(luò)問題展開調(diào)查了。下面通過三個典型場景手把手帶你分析。5.1 場景一揭秘HTTP明文傳輸——找出登錄密碼這個場景直觀展示了未加密通信的風(fēng)險。準(zhǔn)備找一個依然使用http而非https的登錄頁面出于安全考慮請在自己的測試環(huán)境搭建例如使用一個舊的CMS系統(tǒng)。抓包在Wireshark中開始抓包過濾器暫時留空。在瀏覽器中訪問該登錄頁輸入用戶名如testuser和密碼如MySecretPassword123點擊登錄。過濾抓包停止。在顯示過濾器欄輸入http.request.method “POST”。因為登錄表單通常通過POST請求提交。分析在列表中找到對應(yīng)的POST請求包選中它。在中部面板逐層展開展開Hypertext Transfer Protocol。找到Line-based text data: application/x-www-form-urlencoded并展開。在這里你會清晰地看到類似usernametestuserpasswordMySecretPassword123的原始表單數(shù)據(jù)。密碼一目了然沒有任何保護(hù)。這個實驗深刻地說明了為什么全站HTTPS如此重要。任何在同一個局域網(wǎng)如公共Wi-Fi內(nèi)的攻擊者都可以通過同樣的方式竊取你的憑證。5.2 場景二診斷網(wǎng)絡(luò)故障——DHCP獲取不到IP你的電腦突然上不了網(wǎng)顯示“無法獲取IP地址”。可能是DHCP服務(wù)器故障也可能是請求/響應(yīng)過程出了問題。抓包在Wireshark開始抓包然后在你電腦的網(wǎng)絡(luò)設(shè)置里嘗試“禁用”再“啟用”網(wǎng)絡(luò)適配器或者運行ipconfig /release和ipconfig /renewWindows來觸發(fā)一次完整的DHCP過程。過濾使用顯示過濾器bootp或dhcp。DHCP協(xié)議是基于BOOTP的所以兩個過濾器都有效。分析一個正常的DHCP四步曲DORADiscover客戶端發(fā)出的廣播包Source IP: 0.0.0.0Destination IP: 255.255.255.255。在詳情中查看Option: (53) DHCP Message Type Discover。Offer服務(wù)器回復(fù)的廣播包其中包含為客戶端提供的IP地址等信息。Option: (53) ... Offer。Request客戶端選擇其中一個Offer再次廣播告知服務(wù)器。Option: (53) ... Request。Acknowledge服務(wù)器最終確認(rèn)。Option: (53) ... ACK。排查問題如果只有Discover沒有Offer說明客戶端請求未到達(dá)服務(wù)器或服務(wù)器無響應(yīng)檢查物理連接、服務(wù)器狀態(tài)。如果有Discover和Offer但沒有Request和ACK可能是客戶端拒絕了Offer如IP沖突。如果看到重復(fù)的Discover說明客戶端一直在嘗試但未成功。關(guān)于“DHCP報文被識別為Malformed Packet”這通常是因為Wireshark的協(xié)議解析器未能正確識別報文格式。解決方法是在包詳情中找到該Malformed Packet行右鍵 - “Decode As…”在彈出的對話框中將“Current”列的協(xié)議強制指定為DHCP或BOOTP并選擇應(yīng)用到該會話或所有相同端口UDP 67/68的流量。這屬于協(xié)議解碼的手動修正。5.3 場景三分析Web訪問——抓包及分析HTTP這是最常用的場景用于理解網(wǎng)頁加載過程或調(diào)試API接口。抓包清空瀏覽器緩存在Wireshark中開始抓包過濾器設(shè)為http and ip.addr 你的IP。然后訪問一個http網(wǎng)站。追蹤TCP流在抓到的HTTP GET請求包上右鍵選擇“追蹤流 - TCP流”。這時會彈出一個新窗口將以純文本形式重組該TCP連接中的所有數(shù)據(jù)請求和響應(yīng)。你可以清晰地看到完整的HTTP請求頭GET /path HTTP/1.1, Host, User-Agent等和服務(wù)器返回的響應(yīng)頭HTTP/1.1 200 OK, Content-Type等以及HTML正文。這是分析HTTP交互最直觀的方式。分析時序在菜單欄點擊“統(tǒng)計 - 流量圖”IO Graph。在圖形中你可以看到數(shù)據(jù)包隨時間的變化。如果某個請求后響應(yīng)延遲很大圖形上會有一個明顯的間隔。更專業(yè)的方法是使用“統(tǒng)計 - 對話”查看TCP標(biāo)簽頁這里列出了所有TCP會話的起止時間、持續(xù)時間、數(shù)據(jù)量可以快速找到耗時長的連接。查看具體數(shù)據(jù)對于一個圖片或文件下載你可以選中服務(wù)器返回的HTTP 200 OK包在詳情面板展開Hypertext Transfer Protocol找到Line-based text data或[TCP segment of a reassembled PDU]Wireshark有時會在底部提示“該數(shù)據(jù)段屬于某個重組后的應(yīng)用層數(shù)據(jù)”你可以在包上右鍵選擇“重組顯示”來查看完整內(nèi)容。6. 高級技巧與排查實錄解決那些令人頭疼的問題隨著使用深入你會遇到一些更復(fù)雜的情況。這里分享幾個常見問題的排查思路和技巧。6.1 抓取本機發(fā)送給自己的流量Loopback在Windows上默認(rèn)安裝的Npcap驅(qū)動可以抓取環(huán)回流量。啟動Wireshark后你應(yīng)該能看到一個名為“Npcap Loopback Adapter”或類似的接口。選擇它進(jìn)行抓包然后訪問http://127.0.0.1或http://localhost就能捕獲到本機進(jìn)程間的通信。這在開發(fā)調(diào)試Web服務(wù)、本地數(shù)據(jù)庫連接時非常有用。如果看不到此接口可能需要重新運行Npcap的安裝程序并確保勾選了環(huán)回支持選項。6.2 使用Wireshark進(jìn)行USB數(shù)據(jù)抓包這需要額外的組件和步驟安裝USBPcap在安裝Wireshark時勾選USBPcap組件或單獨下載安裝。以管理員權(quán)限運行USBPcap在開始菜單找到“USBPcap Control Panel”以管理員身份運行。選擇設(shè)備在控制面板中選擇你想要監(jiān)控的USB主機控制器通常有多個對應(yīng)電腦上不同的USB口。你可以全選但這可能會產(chǎn)生大量數(shù)據(jù)。在Wireshark中捕獲啟動Wireshark你會看到新增的“USBPcap”接口。選擇它開始抓包。當(dāng)你插入USB設(shè)備如U盤、鍵盤并進(jìn)行操作時相關(guān)的USB事務(wù)請求包就會被捕獲。分析USB協(xié)議很復(fù)雜包內(nèi)容通常是底層的總線事務(wù)。你需要對USB協(xié)議有一定了解才能解析。例如對于USB存儲設(shè)備你可以關(guān)注URB_BULK or INTERRUPT類型的傳輸并嘗試在數(shù)據(jù)部分尋找SCSI命令如讀取、寫入。6.3 配置協(xié)議解碼器與解決解析錯誤除了前面提到的DHCP解碼問題你可能還會遇到其他協(xié)議解析不正常的情況。Wireshark的協(xié)議解析器Dissector并非完美。你可以通過以下方式管理啟用/禁用協(xié)議分析 - 啟用的協(xié)議。在這里可以搜索并勾選或取消勾選特定協(xié)議。如果你確定某個端口跑的是非標(biāo)準(zhǔn)協(xié)議可以禁用錯誤的協(xié)議解析器以防干擾。解碼為如前所述右鍵點擊協(xié)議列顯示錯誤的包選擇“Decode As…”進(jìn)行強制指定。這是解決“Malformed Packet”問題最直接的方法。查看協(xié)議首選項編輯 - 首選項 - 協(xié)議。在這里可以找到幾乎所有協(xié)議的詳細(xì)設(shè)置比如可以設(shè)置HTTP協(xié)議的非標(biāo)準(zhǔn)端口讓W(xué)ireshark把運行在8080端口的流量也當(dāng)作HTTP來解析。6.4 常見問題速查表問題現(xiàn)象可能原因排查步驟網(wǎng)卡列表為空或灰色權(quán)限不足以管理員/root身份運行Wireshark。抓不到任何包1. 選錯接口2. 捕獲過濾器太嚴(yán)格3. 網(wǎng)卡驅(qū)動/硬件問題1. 確認(rèn)選擇的接口后有流量波動條。2. 清空捕獲過濾器再試。3. 嘗試重啟Wireshark或電腦。抓到的包全是ARP/廣播正?,F(xiàn)象局域網(wǎng)內(nèi)廣播包很多。使用顯示過濾器如!arp過濾掉。無法解析主機名DNS解析未開啟在編輯 - 首選項 - Name Resolution中勾選“Resolve network (IP) addresses”。過濾器語法錯誤輸入有誤檢查過濾器欄顏色綠對紅錯利用自動補全功能。常見錯誤ip.addr 192.168.1.1應(yīng)為http and (ip.src or ip.dst)邏輯錯誤。TCP包顯示為[TCP Previous segment not captured]抓包起點晚于會話開始這是提示信息表示這個TCP會話的前序包沒抓到不影響分析當(dāng)前包。如果想看完整會話需在會話開始時就開始抓包。大量TCP重傳/重復(fù)ACK網(wǎng)絡(luò)擁塞、丟包在過濾器輸入tcp.analysis.retransmission或tcp.analysis.duplicate_ack快速定位問題包。結(jié)合時序圖分析是網(wǎng)絡(luò)問題還是服務(wù)器/客戶端問題。7. 將Wireshark融入日常工作流不止于抓包當(dāng)你熟悉了基礎(chǔ)操作后Wireshark可以成為你自動化工具箱的一部分。其命令行工具tshark功不可沒。7.1 確保tshark在系統(tǒng)PATH中tshark是Wireshark的命令行版本安裝Wireshark時通常會自動安裝。驗證方法打開命令行終端CMD或PowerShell輸入tshark -v。如果顯示版本信息則說明已就位。如果提示“不是內(nèi)部或外部命令”你需要手動將tshark.exe所在目錄通常位于Wireshark安裝目錄下如C:\Program Files\Wireshark添加到系統(tǒng)的環(huán)境變量PATH中。7.2 tshark實用命令示例tshark的強大在于可以腳本化、自動化分析。例如實時捕獲特定流量并輸出到文件tshark -i “Wi-Fi” -f “host 192.168.1.1 and port 80” -w capture.pcap-i指定接口-f是捕獲過濾器語法同Wireshark-w輸出到文件。讀取抓包文件并應(yīng)用顯示過濾器輸出特定字段tshark -r capture.pcap -Y “http.request” -T fields -e frame.number -e ip.src -e http.request.uri-r讀取文件-Y是顯示過濾器注意不是-y-T fields指定輸出為字段格式-e指定要輸出的字段幀號、源IP、請求URI。這可以快速生成一個訪問日志。統(tǒng)計HTTP狀態(tài)碼分布tshark -r capture.pcap -Y “http.response” -T fields -e http.response.code | sort | uniq -c | sort -rn這個管道命令會統(tǒng)計各個HTTP狀態(tài)碼出現(xiàn)的次數(shù)并排序。將tshark命令嵌入腳本可以實現(xiàn)定時抓包、異常流量報警、自動生成分析報告等高級功能極大提升運維效率。7.3 與其他工具聯(lián)用Nmap和Wiresharknmap是著名的網(wǎng)絡(luò)發(fā)現(xiàn)和安全審計工具。你可以用nmap進(jìn)行掃描同時用Wireshark抓包直觀地看到nmap發(fā)出的每一種探測包SYN、ACK、UDP等以及目標(biāo)主機的回應(yīng)。這是一個學(xué)習(xí)TCP/IP協(xié)議和網(wǎng)絡(luò)安全概念的絕佳方式。在Wireshark中開始抓包過濾器設(shè)為host 目標(biāo)IP。在命令行執(zhí)行一個簡單的nmap掃描nmap -sS 目標(biāo)IP這是一個SYN半開掃描。回到Wireshark停止抓包。你會看到你的電腦向目標(biāo)IP的多個端口發(fā)送了SYN包而開放的端口會回復(fù)SYN-ACK關(guān)閉的端口會回復(fù)RST-ACK。通過對比分析你能深刻理解端口掃描的原理。Wireshark的旅程始于一次點擊但遠(yuǎn)不止于一次抓包。它為你打開了一扇直接觀察數(shù)字世界底層通信的窗戶。我個人的體會是最初的學(xué)習(xí)曲線確實有些陡峭但一旦你成功用它解決了一個實際網(wǎng)絡(luò)問題——比如找到了導(dǎo)致頁面加載慢的那個重復(fù)請求或者定位了內(nèi)網(wǎng)中那臺亂發(fā)廣播包的故障設(shè)備——所帶來的成就感是巨大的。不要試圖一次性記住所有過濾器和功能從解決一個小問題開始遇到不懂的協(xié)議就右鍵“Wiki協(xié)議頁”去查你的技能樹會在這個過程中自然生長。最后分享一個習(xí)慣在開始任何嚴(yán)肅的抓包分析前先花幾秒鐘想清楚你的目標(biāo)是什么然后據(jù)此設(shè)置一個初步的捕獲過濾器這能為你節(jié)省大量的時間和磁盤空間。