wireshark 工具使用

在工作中,由於各種網絡通信,抓取網絡包分析就顯得非常重要了,linux 系統中查看網絡包個人覺得不太方便,一般都是通過tcpdump命令抓取過濾後的特定網絡包,在pc機上通過wireshark軟件查看。

網絡封包分析軟件。網絡封包分析軟件的功能是擷取網絡封包,並儘可能顯示出最爲詳細的網絡封包資料。

安裝後界面如下圖:
在這裏插入圖片描述

此軟件的功能強大之處在於能夠解析各種協議的網絡數據包(http,icmp,dhcp,tcp,udp,snmp等各種協議報文均可解析),具體的協議包內容在上圖中間的協議書中均可看到,下面則是16進制原始數據,可以從源數據層面分析數據發送/接受是否有誤。

對於tcp協議通信,在解析包的時候需要關注幾個信息,源IP地址、端口號,目的IP地址端口號,序列號等信息, 這些信息在打開協議數侯軍能看到,如圖:
在這裏插入圖片描述

還可以通過右鍵某一條協議,追蹤流功能,即可展開關於此tcp流的自始至終的交互過程。

個人覺得,由於抓取數據包的時候,會有大量的網絡包存在文件當中,而我們僅僅需要有限的數據包即可,所以,wireshark 中的過濾器是至關重要的。關於wireshark過濾器的使用,以下舉例說明:

  1. 過濾固定ip的數據包 eg:ip.addr == 192.168.11.120,此方法不區分源ip或目的ip
  2. 過濾源ip/目的ip eg:ip.src == 192.168.11.120 / ip.dst == 192.168.11.121
  3. 過濾固定協議 eg: tcp / http / icmp / dhcp
  4. 過濾端口號 eg:tcp.port == 80
    更多的過濾條件可以在wireshark過濾器右端的表達式去查找,各種強大的表達式,總有一款能夠滿足你的功能。
    在這裏插入圖片描述

實際工作中,當數據不正常時,我們首先需要考慮的是連接問題,其次是丟包問題,查看是否丟包,可以通過wireshark工具的統計和電話功能來實現,我個人用處最多的時rtp流的電話統計,如下圖,可以清晰的看到丟包與否,
在這裏插入圖片描述

然而我們在實際應用過程中,http、tcp、udp 協議等常用協議我們調通後用到的很少,而且協議很成熟,很少能夠出錯,每個項目都有自己的私有協議,而私有協議也可以向tcp/udp一樣在wireshark中解析,這纔是wireshark最最最強大的地方,wireshark通過lua腳本,實現私有協議的顯示,操作很簡單,只需要在wireshark安裝路徑下找到init.lua文件,並在該文件最後一樣輸入dofile(“XXX.lua”)即可。
lua腳本也很簡單,大家可以參考網絡上其他教程編寫,此處就不跟大家詳細解說了。

添加了私有協議的wireshark,可以通過過濾器直接搜索協議名稱實現數據包的過濾。如下圖:
在這裏插入圖片描述

總的來說,wireshark是一款非常強的且實用的軟件,可以幫助我們在工作中解決好多網絡問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章