原文地址:https://cloud.tencent.com/developer/article/1626726
一.什么是Wireshark?
Wireshark是一個網絡封包分析軟件。網絡封包分析軟件的功能是擷取網絡封包,並盡可能顯示出最為詳細的網絡封包資料。Wireshark使用WinPCAP作為接口,直接與網卡進行數據報文交換。在過去,網絡封包分析軟件是非常昂貴的,或是專門屬於盈利用的軟件。Ethereal的出現改變了這一切。在GNUGPL通用許可證的保障范圍底下,使用者可以以免費的代價取得軟件與其源代碼,並擁有針對其源代碼修改及客制化的權利。Ethereal是目前全世界最廣泛的網絡封包分析軟件之一。

Wireshark是目前全球使用最廣泛的開源抓包軟件,其前身為Ethereal,是一個通用的網絡數據嗅探器和協議分析器,由Gerald Combs編寫並於1998年以GPL開源許可證發布。如果是網絡工程師,可以通過Wireshark對網絡進行故障定位和排錯;如果安全工程師,可以通過Wireshark對網絡黑客滲透攻擊進行快速定位並找出攻擊源;如果是測試或軟件工程師,可以通過Wireshark分析底層通訊機制等。
Wireshark包括以下基本功能:
分析網絡底層協議
解決網絡故障問題
尋找網絡安全問題
網絡流量真實檢測
黑客攻擊
那么,我們在哪里下載該軟件呢?在前文安裝的Kali環境中,它已經自帶了Wireshark工具,而Windows系統下,可以在其官網進行下載,作者也將其上傳至百度雲。
https://www.wireshark.org/
https://www.wireshark.org/download.html


相關類似的軟件:Sniffer、Fiddler、Omnipeek、Httpwatch、科來網絡分析系統等。

二.Wireshark安裝
該軟件安裝非常簡單,如下所示。

第一步:直接運行EXE,點擊下一步即可。

第二步:選擇相關的選項,Wireshark是它的主程序,TShark是協議器,Plugins&Extensions是基本的插件,Tools是基本的工具包,User’s Guide是幫助文檔。

第三步:默認選擇即可。

第四步:選擇安裝路徑,建議大家盡量安裝在純英文路徑下。


安裝完成。


三.Wireshark抓取網站用戶名和密碼
下面通過一個簡單的示例講解Wireshark抓包的基本用法,運行軟件如下圖所示。

第一步:選擇目標網站(http://www.xxxxx.org/Login.aspx),並獲取其IP地址,可以采用Ping命令實現。這里采用站長之家(http://ip.tool.chinaz.com/)獲取,其IP地址為:124.114.152.116 。

第二步:打開wireshark軟件,選擇網卡后,啟動軟件抓包功能。(也可以在設置選項)

第三步:啟動Wireshark軟件,顯示如下圖所示。

第四步:打開目標網站並刷新,輸入用戶名和密碼登錄。

第五步:登錄成功之后停止抓包,並使用下面的過濾器獲取HTTP協議且與該IP地址相關的信息。 http and ip.addr==124.114.152.116

第六步:通過分析HTML登錄方式,發現它是POST方式(很常見,GET方式的鏈接有參數),下面這兩個是登錄頁面。

第七步:點擊該POST且包含login的登錄頁面,點擊最后一行“HTML Form URL Encoded:application/x-www-form-urlencoded”,獲取如下圖所示的用戶名和密碼。如果密碼被MD5加密,可以尋找在線網站進行解密。
Form item: “username” = “yangxiuzhang”
Form item: “password” = "xxxxxxxx"

講到這里,我們通過Wireshark成功獲取了自己登錄賬號和密碼。同樣,可以嘗試抓取其他小伙伴的賬號和密碼,因為你們在同一個wifi下。通過獲取目標網站的IP地址,就能截取數據包實現該功能。所以,大家在外盡量不要使用開放的wifi。
第八步:如果不設置HTTP協議,可以顯示所有寫一下的數據包,如下圖所示。

第九步:最后補充其他的過濾器,比如獲取表單提交的POST請求(GET請求URL有參數),我們可以使用下面代碼獲取。 http.request.method==POST

過濾表達式的規則:

第十步:過濾規則是可以組合的,如下圖所示。 http.request.method==“POST” and http and ip.addr==124.114.152.116


四.總結
Wireshark和網絡協議息息相關,涉及協議:HTTP、FTP、Telnet、網絡協議TCP/IP協議棧、路由協議(RIP/EIGRP/OSPF/ISIS/BGP)、交換協議(TRUNK/VTP/STP/HSRP),如下圖所示,后面的文章將結合抓包原理進行更詳細講解。
