議原理到網(wǎng)絡(luò)排錯實戰(zhàn))
1. 從一次網(wǎng)絡(luò)故障排查說起為什么我們離不開ping前幾天一個剛?cè)胄械耐略诓渴鹦路?wù)時遇到了麻煩。他的應(yīng)用服務(wù)器死活連不上數(shù)據(jù)庫頁面一直報“連接超時”。他先是檢查了代碼配置又重啟了服務(wù)折騰了半天毫無頭緒。我過去看了一眼只敲了一行命令ping 數(shù)據(jù)庫IP地址。屏幕上立刻返回了“請求超時”。問題瞬間清晰了——不是應(yīng)用配置問題而是底層的網(wǎng)絡(luò)根本就沒通。接下來我們順著網(wǎng)線、交換機、防火墻一路排查很快定位到是安全組的入站規(guī)則漏配了。這個簡單到幾乎被遺忘的命令往往是網(wǎng)絡(luò)世界的第一道“聽診器”。ping這個源自聲納脈沖擬聲詞的命令幾乎是所有接觸計算機網(wǎng)絡(luò)的人學(xué)會的第一個診斷工具。它的原理看似直白發(fā)送一個包看對方能不能回一個包。但就是這個簡單的“一問一答”背后卻串聯(lián)起了IP協(xié)議、ICMP報文、路由尋址、生存時間TTL等多個核心的網(wǎng)絡(luò)概念。很多人會用ping卻說不清它發(fā)出的到底是什么、回來的又是什么、中間經(jīng)歷了怎樣的旅程。理解ping的完整過程不僅是解決“網(wǎng)絡(luò)不通”這類具體問題的鑰匙更是深入理解計算機網(wǎng)絡(luò)分層模型和數(shù)據(jù)包生命周期的絕佳切入點。無論你是運維工程師、開發(fā)人員還是正在備考網(wǎng)絡(luò)認(rèn)證的學(xué)生徹底搞懂ping你的網(wǎng)絡(luò)排錯能力和理論功底都會上一個臺階。2. ping命令的核心原理與ICMP協(xié)議拆解ping命令的本質(zhì)是利用ICMPInternet Control Message Protocol互聯(lián)網(wǎng)控制報文協(xié)議的回送請求Echo Request和回送應(yīng)答Echo Reply報文來測試主機之間的可達(dá)性。ICMP是TCP/IP協(xié)議族中一個位于網(wǎng)絡(luò)層第三層的子協(xié)議它不像TCP或UDP那樣用于傳輸用戶數(shù)據(jù)而是專門用于在IP主機、路由器之間傳遞控制消息比如網(wǎng)絡(luò)通不通、主機是否可達(dá)、路由是否可用等。2.1 ICMP報文的結(jié)構(gòu)不只是“數(shù)據(jù)”很多人誤以為ping發(fā)送的就是純粹的數(shù)據(jù)其實它發(fā)送的是一個結(jié)構(gòu)化的ICMP報文。一個完整的ICMP回送請求/應(yīng)答報文封裝在IP數(shù)據(jù)報中其結(jié)構(gòu)可以分為兩部分ICMP首部和ICMP數(shù)據(jù)部分。ICMP首部對于Echo類型主要包含以下幾個字段類型Type8位字段。對于回送請求值為8對于回送應(yīng)答值為0。這是區(qū)分報文用途的關(guān)鍵。代碼Code8位字段。對于回送請求和應(yīng)答這個值都是0。校驗和Checksum16位字段。用于檢驗整個ICMP報文包括首部和數(shù)據(jù)在傳輸過程中是否出錯。標(biāo)識符Identifier16位字段。通常設(shè)置為發(fā)送進程的PID進程ID用于在同時進行多個ping會話時區(qū)分不同會話的回應(yīng)。序列號Sequence Number16位字段。從0開始每發(fā)送一個回送請求報文就加1。用于匹配請求和應(yīng)答計算丟包率。ICMP數(shù)據(jù)部分 這部分可以包含任意內(nèi)容。ping命令通常會在這里填充一組數(shù)據(jù)比如經(jīng)典的字母表序列“abcdefghijklmnopqrstuvwabcdefghi”并且會在數(shù)據(jù)部分加入一個時間戳。當(dāng)目標(biāo)主機發(fā)回回送應(yīng)答時必須原封不動地返回這部分?jǐn)?shù)據(jù)。這樣發(fā)送方通過比較發(fā)送和接收的時間戳就能計算出往返時間RTT。注意ICMP報文是直接封裝在IP數(shù)據(jù)報里的它沒有端口號的概念那是傳輸層TCP/UDP的事。因此當(dāng)你用tcpdump或Wireshark抓包時看到的是“IP協(xié)議號1”的數(shù)據(jù)包后面跟著的就是ICMP報文內(nèi)容。2.2 ping的工作模式無連接的“對話”理解ping的工作模式有助于澄清一個常見誤區(qū)。ping使用的是ICMP而ICMP是網(wǎng)絡(luò)層協(xié)議它本身是無連接的。這意味著沒有握手不像TCP需要三次握手建立連接ping直接發(fā)出請求報文。不可靠IP協(xié)議本身是“盡力而為”的ICMP報文也可能在傳輸中丟失。所以ping顯示丟包是正?,F(xiàn)象。無狀態(tài)發(fā)送方發(fā)出請求后就等待回復(fù)。目標(biāo)主機收到后如果配置允許回應(yīng)就會自動生成一個應(yīng)答報文發(fā)回這個過程不維護任何會話狀態(tài)。這種簡單性既是優(yōu)點也是缺點。優(yōu)點是開銷極小能快速探測網(wǎng)絡(luò)連通性缺點是無法穿透那些嚴(yán)格過濾ICMP報文尤其是Echo Request的防火墻或安全設(shè)備此時你會看到ping不通但基于TCP的應(yīng)用如HTTP卻可能正常工作。2.3 為什么是ICMP底層協(xié)議的不可替代性你可能會問為什么非要用ICMP用TCP或UDP不行嗎當(dāng)然可以像telnet或nmap的端口探測就是基于TCP/UDP的連通性測試。但ping選擇ICMP有其不可替代的優(yōu)勢網(wǎng)絡(luò)層診斷ping測試的是最基礎(chǔ)的IP層連通性。如果ICMP Echo都過不去那么建立在IP之上的TCP/UDP應(yīng)用大概率也無法通信。它排除了傳輸層及以上如端口監(jiān)聽、應(yīng)用服務(wù)狀態(tài)的干擾直指網(wǎng)絡(luò)底層問題。系統(tǒng)內(nèi)核支持對ICMP Echo Request的應(yīng)答功能通常由操作系統(tǒng)內(nèi)核直接實現(xiàn)無需任何用戶態(tài)服務(wù)監(jiān)聽。只要主機在線且網(wǎng)絡(luò)策略允許就會響應(yīng)。這使得ping成為一個普遍可用的標(biāo)準(zhǔn)工具。低開銷與高效率ICMP報文結(jié)構(gòu)簡單沒有傳輸層的連接建立和維護開銷非常適合做快速的健康檢查。3. 一次ping的完整旅程數(shù)據(jù)包的生命周期詳解讓我們跟隨一個從主機A192.168.1.10發(fā)往主機B10.0.0.5的ping數(shù)據(jù)包看看它究竟經(jīng)歷了什么。這個過程完美詮釋了數(shù)據(jù)包如何在網(wǎng)絡(luò)中“旅行”。3.1 階段一本地封裝與發(fā)送主機A應(yīng)用層觸發(fā)你在命令行輸入ping 10.0.0.5并回車。生成ICMP報文ping程序通常是/bin/ping在用戶空間構(gòu)建一個ICMP回送請求報文。它設(shè)置類型為8代碼為0生成一個標(biāo)識符如進程ID 1234和一個序列號比如0并填充數(shù)據(jù)部分包含發(fā)送時間戳。計算校驗和程序計算整個ICMP報文的校驗和填入首部。交給操作系統(tǒng)內(nèi)核用戶態(tài)的ping程序通過系統(tǒng)調(diào)用將這個ICMP報文傳遞給內(nèi)核的網(wǎng)絡(luò)協(xié)議棧。網(wǎng)絡(luò)層封裝內(nèi)核協(xié)議棧的IP模塊收到這個ICMP報文將其作為IP數(shù)據(jù)報的載荷數(shù)據(jù)。然后構(gòu)建IP首部源IP192.168.1.10目標(biāo)IP10.0.0.5協(xié)議號設(shè)置為1代表載荷是ICMP報文。TTL生存時間通常設(shè)置一個初始值Linux/Unix默認(rèn)為64Windows默認(rèn)為128。TTL每經(jīng)過一個路由器減1減到0時包被丟棄防止環(huán)路。確定下一跳內(nèi)核查看目標(biāo)IP10.0.0.5發(fā)現(xiàn)它不在本地局域網(wǎng)192.168.1.0/24網(wǎng)段。于是查詢本地路由表找到默認(rèn)網(wǎng)關(guān)比如192.168.1.1作為下一跳的IP地址。數(shù)據(jù)鏈路層封裝IP模塊將IP數(shù)據(jù)報下傳給數(shù)據(jù)鏈路層如以太網(wǎng)卡驅(qū)動。鏈路層需要知道下一跳192.168.1.1的MAC地址。主機A查詢本地的ARP緩存看是否有192.168.1.1的MAC地址。如果沒有則發(fā)起一個ARP廣播請求“誰的IP是192.168.1.1請告訴192.168.1.10”。網(wǎng)關(guān)路由器回應(yīng)其MAC地址如00:11:22:33:44:55。構(gòu)建以太網(wǎng)幀鏈路層構(gòu)建一個以太網(wǎng)幀目標(biāo)MAC是網(wǎng)關(guān)的MAC00:11:22:33:44:55源MAC是自己的MAC類型字段為0x0800表示載荷是IP數(shù)據(jù)報。最后將封裝好的以太網(wǎng)幀通過物理網(wǎng)卡發(fā)送出去。3.2 階段二網(wǎng)絡(luò)中的路由與轉(zhuǎn)發(fā)網(wǎng)關(guān)接收默認(rèn)網(wǎng)關(guān)路由器的接口收到這個以太網(wǎng)幀檢查目標(biāo)MAC地址是自己于是拆掉以太網(wǎng)頭部將內(nèi)部的IP數(shù)據(jù)報交給路由器的IP層處理。路由查詢路由器查看IP數(shù)據(jù)報的目標(biāo)IP10.0.0.5并根據(jù)自己的路由表決定這個包該從哪個接口轉(zhuǎn)發(fā)出去。假設(shè)路由表顯示通往10.0.0.0/8網(wǎng)絡(luò)的下一跳是另一個路由器IP為172.16.0.1。TTL減1與轉(zhuǎn)發(fā)路由器將IP頭中的TTL值減1從64變?yōu)?3。如果減后TTL為0路由器會丟棄該包并向源主機192.168.1.10發(fā)送一個ICMP“超時”報文Type11。這就是traceroute命令的工作原理基礎(chǔ)。重新封裝路由器需要將IP數(shù)據(jù)報發(fā)送給下一跳172.16.0.1。它查詢ARP緩存獲取172.16.0.1的MAC地址然后以該MAC為目標(biāo)以自己的出接口MAC為源重新封裝一個新的以太網(wǎng)幀從相應(yīng)接口發(fā)出。穿越多個網(wǎng)絡(luò)上述過程可能在多個路由器之間重復(fù)數(shù)據(jù)包經(jīng)過一跳又一跳最終到達(dá)目標(biāo)網(wǎng)絡(luò)10.0.0.0/24的邊界路由器。3.3 階段三目標(biāo)處理與響應(yīng)主機B最終投遞目標(biāo)網(wǎng)絡(luò)的路由器發(fā)現(xiàn)10.0.0.5就在其直連的局域網(wǎng)內(nèi)。它通過ARP找到主機B的MAC地址將數(shù)據(jù)包封裝成以太網(wǎng)幀發(fā)送給主機B。本地接收主機B的網(wǎng)卡收到幀確認(rèn)目標(biāo)MAC是自己后拆掉幀頭將IP數(shù)據(jù)報上傳給IP層。IP層檢查IP層檢查目標(biāo)IP地址是否為本機IP之一。如果是且協(xié)議號為1則知道這是一個ICMP報文于是將其交給ICMP協(xié)議模塊處理。ICMP處理ICMP模塊解析報文看到是類型8Echo Request。如果系統(tǒng)沒有禁用ICMP回應(yīng)出于安全考慮有些服務(wù)器會關(guān)閉此功能內(nèi)核會立即構(gòu)造一個ICMP回送應(yīng)答報文。生成應(yīng)答這個應(yīng)答報文Type0, Code0將請求報文中的標(biāo)識符、序列號和數(shù)據(jù)部分原樣拷貝過來。然后計算新的校驗和。逆向旅程開始主機B的協(xié)議棧將這個ICMP應(yīng)答報文封裝進一個新的IP數(shù)據(jù)報源IP設(shè)為10.0.0.5目標(biāo)IP設(shè)為192.168.1.10TTL通常設(shè)為64或128由目標(biāo)主機決定然后開始它的返程。返程的路由過程與來時類似可能路徑對稱也可能不對稱。3.4 階段四源主機接收與統(tǒng)計主機A接收應(yīng)答主機A最終收到來自10.0.0.5的IP數(shù)據(jù)報拆解后發(fā)現(xiàn)是ICMP回送應(yīng)答Type0且標(biāo)識符和序列號與之前發(fā)出的某個請求匹配。計算RTTping程序從數(shù)據(jù)部分提取出發(fā)送時的時間戳與當(dāng)前時間比較計算出往返時間RTT。輸出結(jié)果程序在屏幕上打印一行結(jié)果通常包括數(shù)據(jù)字節(jié)數(shù)、來自哪個IP、序列號、TTL值以及最關(guān)鍵的RTT時間。持續(xù)與結(jié)束ping默認(rèn)會持續(xù)發(fā)送請求Windows發(fā)4個Linux持續(xù)發(fā)直到按CtrlC。程序會統(tǒng)計發(fā)送數(shù)、接收數(shù)、丟包率以及RTT的最小、平均、最大時間并在結(jié)束時匯總顯示。實操心得理解這個過程后再看ping的輸出就非常清晰了。Reply from 10.0.0.5: bytes32 time15ms TTL55這句輸出中“bytes32”是ICMP數(shù)據(jù)部分長度不包括IP和ICMP首部“time15ms”就是計算出的RTT“TTL55”是應(yīng)答包到達(dá)你手里時的剩余生存時間。通過初始TTL如64和收到時的TTL55你可以粗略推斷中間經(jīng)過了大約64-559個路由器跳數(shù)。4. 高級用法與參數(shù)實戰(zhàn)不止于連通性測試基礎(chǔ)的ping命令只能告訴你通不通、延遲多少。但通過其豐富的參數(shù)我們可以進行更精細(xì)化的網(wǎng)絡(luò)探測和診斷。不同操作系統(tǒng)Windows/Linux/macOS的ping參數(shù)略有差異但核心功能相通。這里以Linux/Unix系的ping為例進行說明。4.1 常用參數(shù)詳解與場景參數(shù)含義典型應(yīng)用場景-c count發(fā)送指定數(shù)量的Echo Request包后停止。自動化腳本中測試網(wǎng)絡(luò)避免無限發(fā)送。例ping -c 5 google.com-i interval設(shè)置發(fā)送每個包之間的時間間隔秒。默認(rèn)通常為1秒。1.降低探測頻率ping -i 5每5秒發(fā)一次減輕對敏感設(shè)備或鏈路的壓力。2.壓力測試ping -i 0.2快速發(fā)送觀察在高頻率下是否出現(xiàn)丟包或延遲抖動。-s packetsize指定發(fā)送的ICMP數(shù)據(jù)部分字節(jié)數(shù)。默認(rèn)通常是56字節(jié)加上8字節(jié)ICMP首部和20字節(jié)IP首部總長84字節(jié)。測試MTU最大傳輸單元相關(guān)問題。例如逐漸增加包大小-s 1472當(dāng)包大小超過路徑MTU時可能會收到“需要分片但設(shè)置了DF位”的ICMP錯誤從而定位MTU瓶頸。-t ttl設(shè)置發(fā)出包的IP生存時間TTL。模擬數(shù)據(jù)包能經(jīng)過的最大跳數(shù)。用于排查路由環(huán)路或特定跳數(shù)的設(shè)備問題。-W timeout設(shè)置等待每個回復(fù)的超時時間秒。在延遲不穩(wěn)定或較高的網(wǎng)絡(luò)如跨國鏈路中增大超時時間-W 5以避免誤判為超時。-I interface指定從哪個網(wǎng)絡(luò)接口發(fā)送ping包。主機有多塊網(wǎng)卡時測試特定網(wǎng)絡(luò)的連通性。例ping -I eth1 8.8.8.8-D在輸出時間戳前打印Unix時間戳。便于將ping結(jié)果與其他日志時間對齊進行關(guān)聯(lián)分析。-q安靜模式。只顯示開始和結(jié)束的統(tǒng)計信息不顯示每個包的回復(fù)詳情。只需要最終統(tǒng)計結(jié)果時輸出更簡潔。-R記錄路由Record Route。在IP首部選項字段中記錄包經(jīng)過的路由器IP。注意由于IP選項字段長度限制和安全原因現(xiàn)代網(wǎng)絡(luò)設(shè)備大多忽略或不允許此選項實用性已不高。更應(yīng)使用traceroute。-f洪水模式Flood。以最快速度發(fā)送大量ping包。極度危險這會嚴(yán)重消耗網(wǎng)絡(luò)和系統(tǒng)資源等同于DoS攻擊。嚴(yán)禁在非受控的測試環(huán)境或生產(chǎn)網(wǎng)絡(luò)中使用。4.2 實戰(zhàn)案例使用ping進行基礎(chǔ)網(wǎng)絡(luò)排查場景用戶反饋訪問內(nèi)部Web服務(wù)器IP: 10.1.2.100時斷時續(xù)。排查步驟基礎(chǔ)連通性測試在客戶端執(zhí)行ping -c 10 10.1.2.100。觀察結(jié)果。如果完全不通100%丟包問題可能出在物理鏈路、交換機端口、服務(wù)器關(guān)機、或服務(wù)器防火墻禁ping。需要逐級排查。如果時通時斷有丟包記錄丟包率。例如10 packets transmitted, 8 received, 20% packet loss。定位丟包區(qū)間使用ping分段測試。ping -c 20 客戶端網(wǎng)關(guān)IP測試本地局域網(wǎng)是否穩(wěn)定。ping -c 20 核心交換機IP測試到網(wǎng)絡(luò)核心的連通性。ping -c 20 服務(wù)器網(wǎng)關(guān)IP測試到服務(wù)器所在網(wǎng)段網(wǎng)關(guān)的連通性。對比各段的丟包率可以大致將問題范圍縮小到某兩個節(jié)點之間。分析延遲與抖動在ping統(tǒng)計信息中關(guān)注RTT的min/avg/max/mdev平均偏差。mdev值大說明網(wǎng)絡(luò)延遲不穩(wěn)定抖動大這可能是鏈路擁塞或無線信號不穩(wěn)的跡象即使沒有丟包也會影響音視頻等實時應(yīng)用體驗。結(jié)合其他工具如果ping到服務(wù)器網(wǎng)關(guān)正常但到服務(wù)器IP丟包則問題很可能在服務(wù)器本身或接入交換機。此時可以登錄服務(wù)器執(zhí)行ping 客戶端IP做反向測試并檢查服務(wù)器防火墻規(guī)則如iptables -L -n查看是否丟棄了ICMP。注意事項ping不通不代表服務(wù)不可用。許多云服務(wù)器或安全設(shè)備默認(rèn)禁止ICMP Echo。此時應(yīng)使用基于TCP的探測如telnet IP 端口或nc -zv IP 端口來測試具體服務(wù)如80、443端口是否可達(dá)。5. 常見問題、深度解析與安全考量5.1 為什么能ping通但打不開網(wǎng)頁/連不上服務(wù)這是最經(jīng)典的網(wǎng)絡(luò)問題之一。ping基于ICMP網(wǎng)絡(luò)層而網(wǎng)頁瀏覽使用HTTP/HTTPS over TCP傳輸層/應(yīng)用層。能ping通只說明IP層連通性沒問題但問題可能出在目標(biāo)服務(wù)未運行Web服務(wù)器進程崩潰或未啟動。防火墻攔截服務(wù)器或中間網(wǎng)絡(luò)的防火墻允許ICMP通過但攔截了TCP 80/443端口。DNS解析失敗你能ping通IP但瀏覽器輸入域名無法解析。此時應(yīng)使用nslookup或dig命令測試DNS。主機文件或代理設(shè)置本地hosts文件錯誤配置或瀏覽器代理設(shè)置異常。TCP連接問題服務(wù)端TCP backlog隊列滿、連接數(shù)限制、或存在TCP層面的攔截。排查順序建議先pingIP通再telnet IP 端口不通則問題在傳輸層以上最后檢查本地DNS和代理設(shè)置。5.2 TTL值的奧秘與操作系統(tǒng)識別收到的ping回復(fù)中的TTL值隱含了源主系統(tǒng)的信息。因為不同操作系統(tǒng)對出站數(shù)據(jù)包設(shè)置的初始TTL值有慣例Linux/Unix/Android通常為64Windows通常為128早期Unix/Cisco設(shè)備可能為255當(dāng)你收到一個TTL為56的回復(fù)時你可以推斷初始TTL可能是64經(jīng)過了大約64 - 56 8跳路由初始TTL也可能是128經(jīng)過了128 - 56 72跳但這在互聯(lián)網(wǎng)上不常見因為跳數(shù)通常少于30。結(jié)合其他信息可以輔助判斷目標(biāo)主機類型。nmap等掃描工具就利用了這個特性進行操作系統(tǒng)探測。5.3 安全風(fēng)險ICMP與信息泄露、攻擊ICMP雖然用于管理和診斷但也被攻擊者利用主機發(fā)現(xiàn)攻擊者使用ping掃描ping sweep一個網(wǎng)段根據(jù)是否有ICMP回復(fù)來發(fā)現(xiàn)存活主機。網(wǎng)絡(luò)拓?fù)涮綔y結(jié)合traceroute基于ICMP TTL超時或端口不可達(dá)報文可以繪制目標(biāo)網(wǎng)絡(luò)的路由路徑和關(guān)鍵設(shè)備。ICMP隧道將其他協(xié)議的數(shù)據(jù)封裝在ICMP Echo報文的數(shù)據(jù)字段中進行傳輸可以繞過只檢查端口的防火墻。ICMP洪水攻擊發(fā)送海量ICMP請求如使用-f參數(shù)或定制工具耗盡目標(biāo)主機或網(wǎng)絡(luò)帶寬資源。因此在生產(chǎn)環(huán)境中安全策略常常會入站方向在邊界防火墻或主機防火墻上限制或禁止來自外部的ICMP Echo RequestType 8但可能允許ICMP Destination UnreachableType 3或 Time ExceededType 11等對通信必要的報文。出站方向通常允許內(nèi)部主機向外發(fā)送ping請求。5.4 進階工具traceroute與mtr當(dāng)ping不通或延遲高時你需要知道問題出在哪一跳。ping是“兩點測試”而tracerouteWindows下是tracert是“逐跳診斷”。原理traceroute巧妙地利用IP協(xié)議的TTL機制。它首先發(fā)送一個TTL1的探測包可以是UDP、ICMP或TCP第一臺路由器將TTL減至0并丟棄它同時發(fā)回一個ICMP Time Exceeded報文這樣源主機就知道了第一跳路由器的地址。然后它發(fā)送TTL2的包發(fā)現(xiàn)第二跳……如此反復(fù)直到到達(dá)目標(biāo)。使用traceroute google.com。結(jié)果會顯示路徑上每一跳的IP和延遲。mtr這是ping和traceroute的結(jié)合體。mtr google.com會持續(xù)向路徑上的每一跳發(fā)送探測包并動態(tài)更新每跳的丟包率和延遲是診斷間歇性網(wǎng)絡(luò)問題的利器。5.5 防火墻與網(wǎng)絡(luò)策略對ping的影響理解網(wǎng)絡(luò)策略如何影響ping是高級排錯的關(guān)鍵。禁Ping過濾Echo Request這是最常見的策略。服務(wù)器不回復(fù)ping但其他服務(wù)正常。這增加了攻擊者發(fā)現(xiàn)主機的難度但也給合法運維帶來了不便。此時需要其他監(jiān)控手段如TCP端口探測。單向流量限制可能允許ICMP Echo Request進入但過濾了Echo Reply出去導(dǎo)致有去無回。速率限制網(wǎng)絡(luò)設(shè)備可能對ICMP報文進行限速當(dāng)ping頻率過高時如-i 0.1后續(xù)報文被丟棄造成丟包假象。ICMP重定向路由器可能會發(fā)送ICMP重定向報文Type 5告訴主機有更優(yōu)的路由。現(xiàn)代系統(tǒng)通常忽略此類報文因為它可能被用于攻擊。在復(fù)雜的網(wǎng)絡(luò)環(huán)境中排錯腦海中要有這張“過濾網(wǎng)”的拓?fù)鋱D清晰地知道你的ping包可能在哪一層被攔截或修改。