今天小編要給大家介紹的這個(gè)抓包工具--Wireshark,它相對(duì)其他的抓包工具來(lái)說(shuō)更厲害一些。
功能
它支持上百種協(xié)議的解密嗅探分析,在互聯(lián)網(wǎng)上發(fā)生的事情,多微小的細(xì)節(jié)都能通過(guò)它分析出來(lái),而且它不僅可以實(shí)時(shí)抓包,還可以離線分析,它還提供了 GUI 界面工具,你在其它大部分的抓包工具中抓到的數(shù)據(jù)文件都能拿來(lái)這里分析一波,而且,Wireshark 是跨平臺(tái)的,市面上大多數(shù)系統(tǒng)都能運(yùn)行。
認(rèn)識(shí)一下Wireshark
首先就是安裝:https://www.wireshark.org/download.html 根據(jù)自己的版本進(jìn)行安裝 安裝完成之后打開(kāi)圖下:

現(xiàn)在來(lái)帶大家了解一下每個(gè)模塊有什么作用:

現(xiàn)在這樣一看就知道,然而當(dāng)你抓包的時(shí)候界面就會(huì)改變圖下:

再來(lái)給大家說(shuō)一下這幾個(gè)面板分別有什么作用

現(xiàn)在我們先來(lái)簡(jiǎn)單進(jìn)行一個(gè)抓包 首先我們要開(kāi)啟Wireshark的數(shù)據(jù)訪問(wèn)監(jiān)聽(tīng),你也可以使用快捷鍵 ctrl+E 或者點(diǎn)擊工具欄第一個(gè)圖標(biāo)

我們先過(guò)濾一下Http的請(qǐng)求:

然后隨便去瀏覽器找一些圖片:

這時(shí)候 wireshark 就監(jiān)聽(tīng)到請(qǐng)求的數(shù)據(jù)包了:

在數(shù)據(jù)包列表中,每個(gè) item 所表示的都一目了然,從左到右分別是請(qǐng)求的時(shí)間、請(qǐng)求的 IP 、響應(yīng)的IP、請(qǐng)求的協(xié)議、內(nèi)容長(zhǎng)度、以及相關(guān)信息:

每條數(shù)據(jù)下方都會(huì)有具體信息的顯示,你也可以直接雙擊具體的數(shù)據(jù)包,這時(shí)候會(huì)彈出一個(gè)窗口,專(zhuān)門(mén)用來(lái)展示具體數(shù)據(jù)包的相關(guān)傳輸信息:

我們來(lái)看看應(yīng)用層抓到的信息:

可以看到,這里我們是通過(guò) Get 請(qǐng)求,其中Http 協(xié)議參數(shù)以及請(qǐng)求頭的相關(guān)信息都可以在應(yīng)用層這里獲取。 響應(yīng)的信息:


那么除了 Hypertext Transfer Protocol 之外,上面的那幾個(gè)顯示的都是什么內(nèi)容呢?

我們一個(gè)一個(gè)來(lái),其中的 Frame 里面主要是展示這個(gè)數(shù)據(jù)包報(bào)文的具體信息:

比如這里就展示了網(wǎng)卡信息,抓取的時(shí)間,數(shù)據(jù)的大小,協(xié)議等信息。 因?yàn)榫W(wǎng)絡(luò)數(shù)據(jù)包的傳輸是分層的,所以這里的以太網(wǎng)Enternet II表示的是數(shù)據(jù)鏈路層,在這里可以看到的是源 mac 地址和目的 mac地址:

接下來(lái)就是 IP 網(wǎng)絡(luò)層,這里可以看到IP協(xié)議頭的一些信息:

接下來(lái)就是TCP 傳輸層,在這里可以看到TCP 數(shù)據(jù)包的一些信息,比如源端口,目的端口,序列號(hào),Ack確認(rèn)等:

最后就是我們剛剛看到的 HTTP 協(xié)議應(yīng)用層:

大概認(rèn)識(shí)了 Wireshark 之后,接下來(lái)我再跟你說(shuō)說(shuō)它的常用功能。 我們剛剛輸入http 進(jìn)行了顯示過(guò)濾:

實(shí)際上 Wireshark 的過(guò)濾很強(qiáng)大,可以定義不同的參數(shù)過(guò)濾,你可以點(diǎn)擊菜單欄的: View-internals-Support Protocols 在這里可以看到各種協(xié)議的過(guò)濾字段:

比如 http 協(xié)議的過(guò)濾字段:

通過(guò) Filter字段中的值,就可以直接用它來(lái)定義過(guò)濾了,比如過(guò)濾fxxkpython.com 的請(qǐng)求就可以這樣: http.host == fxxkpython.com

過(guò)濾 80 端口的數(shù)據(jù):

另一種過(guò)濾的方式是在抓取的時(shí)候過(guò)濾,也就是說(shuō),我們只要抓取某一范圍的數(shù)據(jù),而不是網(wǎng)卡所請(qǐng)求的所有數(shù)據(jù),那么這個(gè)時(shí)候你可以使用快捷鍵Ctrl + K,打開(kāi)input面板下面的搜索框里定義,比這里只定義分析 fxxkpython.com的數(shù)據(jù):

另外,你還可以選擇不同網(wǎng)卡設(shè)備的抓?。?/p>

設(shè)置完之后點(diǎn)擊start 就能開(kāi)始根據(jù)你定義的規(guī)則進(jìn)行抓包了。 在抓包的時(shí)候你會(huì)看到數(shù)據(jù)包列表各種顏色:

這些不同顏色代表不同的協(xié)議,你可以在View-Coloring Rules中自定義:

你點(diǎn)擊具體的數(shù)據(jù)包的時(shí)候,在數(shù)據(jù)列表的左側(cè)會(huì)出現(xiàn)類(lèi)似這樣的圖:

被框住的數(shù)據(jù)包表示一整個(gè)會(huì)話,其中的虛線表示與會(huì)話無(wú)關(guān),而 -->代表的是請(qǐng)求,<-- 代表的是返回。 而 √ 表示的是報(bào)文的確認(rèn):

如果你想晚點(diǎn)再去分析數(shù)據(jù)包的話,你也可以把你想要的數(shù)據(jù)包給導(dǎo)出到本地,點(diǎn)擊菜單欄的 File--Export Specified Packets:

等你想要分析了的時(shí)候,打開(kāi)Wireshark, 導(dǎo)入文件就可以繼續(xù)分析了:


以上就是小編今天帶來(lái)的內(nèi)容 小編本身就是一名python開(kāi)發(fā)工程師,我自己花了三天時(shí)間整理了一套python學(xué)習(xí)教程,從最基礎(chǔ)的python腳本到web開(kāi)發(fā),爬蟲(chóng),數(shù)據(jù)分析,數(shù)據(jù)可視化,機(jī)器學(xué)習(xí),等,這些資料有想要的小伙伴點(diǎn)擊下方鏈接即可領(lǐng)取
https://docs.qq.com/doc/DTGpFa2lVeE9jUkRv