◆歐國成
Wireshark在網絡安全管理中的應用
◆歐國成
(羅定職業技術學院 廣東 527200)
為提升網絡安全保障能力,介紹了網絡分析器Wireshark的應用場景、常用的數據包分析功能及統計功能。以具體實驗說明如何利用Wireshark發現ARP欺騙攻擊、偵測DoS攻擊,并給出相應的處理方法。實驗證明,利用Wireshark能夠實時監控網絡運行狀況、及時發現網絡異常、快速診斷網絡故障,在網絡安全管理中能夠發揮十分重要的作用。
Wireshark;網絡管理;ARP欺騙攻擊;DoS攻擊
截至2019年6月,我國互聯網普及率達61.2%,網民規模達8.54億。隨著我國的網絡化水平不斷提高,網絡安全保障能力也必須同步提升,才能維護廣大網民的合法權益。然而,病毒木馬、網絡詐騙、拒絕服務攻擊、信息泄露等網絡安全問題屢屢出現,嚴重威脅網民利用網絡開展工作、學習、娛樂等活動的安全。監控網絡運行狀況、及時發現網絡異常、診斷并排除網絡故障、保證網絡服務正常是網絡管理員的日常工作內容。而網絡管理工具是網絡管理員工作中的好幫手,其中網絡分析器是必不可少的工具之一。
網絡管理員利用網絡分析器能及時發現各種網絡異常,防范網絡攻擊事件。Wireshark憑借其開源、免費、功能強大等特點,成為最流行的網絡分析器之一[1]。Wireshark具有強大的網絡封包獲取能力,并能提供強大的網絡封包分析功能及統計功能,在網絡安全管理中得到廣泛應用。楊萍等利用Wireshark進行網絡安全風險評估,提高計算機網絡的運行安全水平[2];任皓利用Wireshark發現實施ARP欺騙攻擊的可疑主機[3];辛偉偉等通過Wireshark捕獲和分析DHCP數據包來定位網絡故障[4];左曉靜通過Wireshark抓取TCP數據包,分析TCP協議的工作過程[5];吳志森通過Wireshark對ICMP數據包進行嗅探并且記錄,對網絡中安全問題進行優化,防止數據被非法竊取[6]。
把安裝了Wireshark軟件的主機稱為監控主機,網絡管理員需要把監控主機的網卡設置為混雜模式并確保網絡數據包經過監控主機的網卡,才能利用Wireshark捕獲網絡數據包。在實際應用中,常見的Wireshark應用場景有以下3種:
(1)捕獲本機數據包。打開監控主機上的Wireshark應用程序,網卡會自動把工作模式切換為混雜模式,選擇待監控的網絡接口后就可以捕獲到本機數據包。
(2)捕獲集線器網絡環境中的數據包。由于集線器是典型的廣播通信網絡設備,因此網絡管理員只需把監控主機連接到集線器的任意一個端口上,就可以捕獲集線器網絡中所有主機的數據包。
(3)捕獲交換機網絡環境中的數據包。交換機網絡屬于點對點通信網絡,要想捕獲網絡中其他主機的數據包,網絡管理員需要在交換機上設置端口鏡像,把其他端口的數據復制到監控主機所連接的交換機端口上。
啟動監控主機上的Wireshark軟件,選擇待監控的網絡接口后就可以捕獲到大量的網絡數據包。網絡管理員要想在大量的捕獲數據包中找出異常數據包,通過人工查找的方式是很難實現的。Wireshark提供了強大的數據包分析功能,包括定義過濾器、追蹤數據流、專家信息等。下面分別介紹這幾種常用的Wireshark分析功能。
(1)定義過濾器。該功能可以幫助用戶在大量數據包中迅速找到想要的數據包,用戶可以通過協議類型、數據方向、IP地址、端口號等多種規則定義過濾器,過濾器包括捕獲過濾器和顯示過濾器兩種。捕獲過濾器在捕獲數據前定義,可以按照用戶的設置捕獲指定的數據包。顯示過濾器可以幫助用戶在捕獲到的數據中篩選出指定的數據包并顯示在窗口中。
(2)追蹤流。該功能可以自動設置并應用顯示過濾器規則,能夠幫助用戶在大量的捕獲數據包中輕松地追蹤到同一個TCP流、UDP流、TLS流、HTTP流等數據信息,方便用戶對數據包作進一步的分析。
(3)專家信息。Wireshark的專家信息功能可以幫助網絡管理員快速準確地找到網絡故障點,進行下一步的處理。專家信息包括錯誤信息(Error)、警告信息(Warning)、注意信息(Note)、聊天信息(Chat)等。在網絡管理中,管理員需要重點關注錯誤信息和警告信息。在專家信息窗口中,可以清晰地看到錯誤、警告數據包的分組、摘要、協議類型、數量等信息。
Wireshark同時提供了強大的數據包統計功能,包括捕獲文件屬性、已解析的地址、協議分級、網絡節點和會話、I/O圖表等統計功能。下面對常用的Wireshark統計功能作簡要介紹。
(1)捕獲文件屬性統計。單擊Wireshark統計菜單中的捕獲文件屬性命令,可以獲得捕獲文件的細節和描述。捕獲文件細節包括文件名稱、長度、封裝、捕獲時間、接口、分組統計等。在分組統計中,可以清楚地知道分組數量、時間跨度、平均分組速度、平均分組大小等信息。
(2)已解析地址統計。Wireshark提供地址解析功能,在已解析的地址窗口中,可以看到解析后的數據包地址、名稱、端口名稱、端口號、端口類型等信息。
(3)協議分級統計。Wireshark協議分級統計列出每種協議的分組數量、按分組百分比、字節大小、按字節百分比、分組速度等信息。網絡管理員通過協議分級統計功能可以掌握網絡中的數據包組成結構,當網絡出現故障時能快速掌握攻擊數據包的協議類型。
(4)網絡節點和會話統計。網絡節點統計詳細描述了通信會話中每個節點接收和發送的數據包和字節數,方便網絡管理員快速找出網絡中哪個節點最占用網絡資源。網絡會話統計記錄了每個會話的分組交換情況,包括會話雙方的地址、會話分組數量、會話方向及分組大小等信息,方便網絡管理員快速找出網絡中哪個會話最占用網絡資源。
(5)I/O圖表統計。在Wireshark I/O圖表窗口中,網絡管理員能夠看到網絡吞吐量的實時圖像顯示,包括所有數據包的分時流量情況以及錯誤數據包的分布情況。I/O圖表功能為網絡管理員進行網絡運行狀況監控提供了極大的便利。
Wireshark具有強大的網絡封包捕獲能力、分析能力及統計能力,能夠在網絡安全管理中發揮重要的作用。下面以具體實驗介紹Wireshark在網絡安全管理中的實際應用,實驗網絡拓撲圖如圖1所示。

圖1 實驗網絡拓撲圖
其中,路由器Router的內網IP為192.168.3.1,作為內網主機的網關;PC1模擬被黑客控制的肉雞,它的內網IP地址為192.168.3.36;PC2模擬內網合法用戶的主機,其內網IP地址為192.168.3.37;監控主機是網絡管理員使用的安裝了Wireshark軟件的主機。
正常情況下,PC2要與外網通信時,首先要通過ARP協議,獲得網關的MAC地址,然后把數據發送到網關,再通過網關轉發至外網傳輸。ARP欺騙攻擊原理如圖2所示。
肉雞PC1向PC2發起ARP欺騙攻擊,聲稱網關的MAC地址改成了自己的MAC地址,導致PC2原本要發送給網關的數據發給了PC1。同時PC1向網關發起ARP欺騙攻擊,聲稱PC2的MAC地址改成了自己的MAC地址,導致網關原本要發送給PC2的數據發給了PC1。這樣,肉雞PC1就能截獲PC2與網關之間的通信。

圖2 ARP欺騙攻擊原理
實驗中,PC1利用偽造的MAC地址向PC2和網關發起雙向ARP欺騙攻擊,使得PC2不能與外界通信。
網絡管理員收到PC2用戶的網絡故障報告后,利用Wireshark捕獲網絡中的ARP數據包,得到Wireshark的專家信息和I/O圖表信息,如圖3所示。

圖3 利用Wireshark發現ARP欺騙攻擊
通過MAC地址警告信息和I/O圖表信息中的ARP數據包流量,可以清楚地看到PC2和網關的MAC地址都是ef:ef:ef:4f:10:9f,因此可以判定PC2和網關遭受了ARP欺騙攻擊,且攻擊者偽造的MAC地址為:ef:ef:ef:4f:10:9f。
網絡管理員要處理這個網絡故障,需要在PC2上利用“arp -s”命令把網關的IP地址和網關的MAC地址進行靜態綁定,同時在網關路由器上把PC2的IP地址和PC2的MAC地址也進行靜態綁定即可。
拒絕服務(DoS)攻擊就是通過各種方式消耗攻擊目標的可用資源,其目的是令攻擊目標無法提供正常的網絡服務,常見的DoS攻擊有死亡之Ping、SYN Flood、UDP Flood、ICMP Flood、Land、Teardrop等。實驗中,肉雞PC1向PC2的80端口發起SYN Flood攻擊,利用大量隨機產生的源IP地址,瘋狂向PC2發送SYN包,請求與PC2建立TCP連接,在收到PC2的SYN+ACK包后而不返回確認ACK包,使得PC2不斷重發SYN+ACK包,直到超時為止,以此來消耗PC2的系統資源,導致PC2不能響應正常的TCP連接請求。
網絡管理員可以利用Wireshark捕獲網絡中的TCP數據包,通過捕獲的數據包、Wireshark警告、會話統計以及I/O圖表功能,能快速偵測到網絡中的PC2主機遭受DoS攻擊,如圖4所示。

在圖4中,(a)展示了Wireshark捕獲到大量RST=1,ACK=1的TCP數據包,數據包的源IP地址均為192.168.3.37(PC2的IP),源端口均為80端口,目標IP地址為隨機的IP地址,目標端口均為46287端口;(b)展示了大量TCP連接重置的警告信息;(c)展示了大量相似的TCP會話統計信息;(d)展示了一段時間內的TCP數據包流量情況,流量高達4500個數據包每秒以上。根據以上現象,可以判斷,網絡中的PC2主機遭受SYN Flood攻擊。
網絡管理員可以通過關閉目標主機上不常用的端口、不必要的TCP/IP服務,利用網絡防火墻對特定數據包進行過濾等方法來防范SYN Flood等拒絕服務攻擊。
本文介紹了網絡分析器Wireshark的應用場景、常用的數據包分析功能及統計功能,以具體實驗介紹了如何利用Wireshark發現ARP欺騙攻擊、偵測DoS攻擊,并給出相應的解決方法。實驗證明,利用Wireshark能夠實時監控網絡運行狀況、及時發現網絡異常、快速診斷網絡故障,在網絡安全管理中能夠發揮十分重要的作用。
[1]黃魯江,雷燁,成燚.Wireshark協議解析在網絡故障排查中的應用[J].鐵道通信信號,2016,52(10):52-55.
[2]楊萍,田建春.Wireshark網絡安全風險評估關鍵技術研究[J].網絡安全技術與應用,2015(9):54+56.
[3]任皓.基于Wireshark的ARP欺騙分析及發現技術[J].電子設計工程,2018,26(2):18-21.
[4]辛偉偉,郝繼升,張成.基于Wireshark的DHCP網絡故障定位分析[J].延安大學學報(自然科學版),2018,37(1):34-36.
[5]左曉靜,趙永樂,王榮.基于Wireshark的TCP協議工作過程分析[J].電腦知識與技術,2019,15(5):67-68.
[6]吳志森.利用Wireshark對網絡中ICMP數據包進行嗅探分析[J].安徽電子信息職業技術學院學報,2019,18(6):21-25.