前沿拓展:
wireshark是什么
報文號是網(wǎng)絡(luò)交換傳輸?shù)臄?shù)據(jù)編號,從wireshark用tcpdump抓包就可以直接獲取報文號并分析報文內(nèi)容。
報文是網(wǎng)絡(luò)中交換與傳輸?shù)臄?shù)據(jù)單元。報能顯示出最為詳細的網(wǎng)絡(luò)封包資料。Wireshark使用Wi**AP作生針與局天失為接口,直接與網(wǎng)卡進行數(shù)據(jù)報文交換。
在過去,網(wǎng)絡(luò)封包分析軟件是非常昂貴的,或是專門屬于盈利用的軟件。Ethereal的出現(xiàn)改變了這一切。在GNUGPL通用許可證的保障范圍底下,使用者可以以免費的途徑取得軟件與其源代碼,并擁有針對其源代碼修改及客制化的權(quán)利。
我們這個信息化時代,每天都不知不覺的會給不知道哪些軟件**偷偷的說一些悄悄話,特別是我們程序猿,在開發(fā)過程中更是,偶爾會遇到不知道TCP交互過程中到底傳遞或者接受了哪些信息,給我們的Debug蒙上了一層神秘的面紗,這時候,我們需要一些抓包工具幫助我們輕松Debug。一般的請求可以借助瀏覽器自帶的NetWork抓包工具,移動端一些網(wǎng)頁的話可以借助騰訊開源的vConsole,再高端一點就是借助Fiddler來抓取http或者https請求。但是有時候這樣也滿足不了我們的需要,那么就再祭出Wireshark神器來抓取tcp和udp請求。
瀏覽器自帶的抓包工具
一些主流瀏覽器都自帶有Network抓包工具,只需F12即可喚出,非常方便,我這里只演示了 Chrome瀏覽器的抓包過程。
Fiddler簡單**作
Fiddler是一款httphttps協(xié)議**調(diào)試工具,它能夠獲取請求之間的數(shù)據(jù)和狀態(tài),設(shè)置斷點,以及修改數(shù)據(jù)。第一去Fiddler網(wǎng)站下載并手動安裝。
安裝成功后打開Fiddler,界面如下:
默認情況下,它是抓取我們所有的請求。我們需要對Fiddler進行過濾設(shè)置。假如我們只想抓取www.cnblogs.com的請求,我們需要這樣處理:
,最后我們可以得到這樣的效果:
,還可以指定客戶端的進程:
進程方式除了剛才在Filters中設(shè)置外,還可以使用拖動方式,
下面,我們來試試抓取手機端的請求,在抓取手機端請求前,請確保手機和電腦在同一個局域網(wǎng)中,第二進入對Fiddler進行如下設(shè)置:
,由于我在PC端映射了一個wifi供手機連接,故我手機**設(shè)置如下:
假如我們抓取美團App的請求,現(xiàn)在打開App即可看到:
這里只是一個簡單的示例介紹,更多高深技巧請自行探索。
Wireshark簡單**作
第一Wireshark下載,
安裝完成后打開
可以看到我們本地有很多網(wǎng)卡驅(qū)動,我們怎么知道現(xiàn)在網(wǎng)絡(luò)是哪個網(wǎng)卡呢?有兩個方式,一個是查看本地連接,另外一個就是看界面的網(wǎng)絡(luò)流量。
可以看到Wireshark開始為我們抓包,由于Wireshark為我們抓取了TCP和HTTP,會有很多無用的信息導(dǎo)致我們無從下手,這時候可以使用Wireshark的過濾規(guī)則:
,在過濾欄輸入關(guān)鍵字就會有相應(yīng)的智能提示。 在Wireshark抓包中有多層信息:
Frame 15788: 79 bytes on wire (632 bits), 79 bytes captured (632 bits) on interface DeviceNPF_{69B14E8C-A0A5-4064-9CF7-EB4651D24A99}, id 0:物理層的數(shù)據(jù)幀概況。Ethernet II, Src: HuaweiTe_22:5a:c6 (fc:48:ef:22:5a:c6), Dst: WistronI_fd:67:50 (54:ee:75:fd:67:50):數(shù)據(jù)鏈路層以太網(wǎng)幀頭部信息。Internet Protocol Version 4, Src: 10.101.11.97, Dst: 10.101.27.241:互聯(lián)網(wǎng)層IP包頭部信息,源地址和目的地址。Tran**ission Control Protocol, Src Port: 80, Dst Port: 50773, Seq: 2606, Ack: 3560, Len: 25:傳輸層的數(shù)據(jù)段頭部信息,TCP協(xié)議層信息。Hypertext Transfer Protocol:應(yīng)用層的信息,此處是HTTPHTTPS協(xié)議會現(xiàn)在該項。Wireshark常用過濾條件:地址過濾。ip.dst==xxx.xx.xxx.xxx 過濾目的地址為xxx.xx.xxx.xxx,ip.src==xxx.xx.xxx.xxx 過濾原地址地址為xxx.xx.xxx.xxx,ip.dst==xxx.xx.xxx.xxx && ip.src==xxx.xx.xxx.xxx 過濾源地址為xxx.xx.xxx.xxx且目的地址xxx.xx.xxx.xxx協(xié)議過濾。直接在過濾欄輸入?yún)f(xié)議即可 tcp、udp、arp、http、ftp、ssl、**tp、dns、ip、ardp端口過濾。在過濾欄輸入tcp.port==端口號(目的端口和源端口)或者 tcp.dstport==端口號(目的端口),tcp.srcport==端口號(源端口)HTTP過濾。這個就比較多了,暫時詳述:
通過Wireshark可以很方便的分析TCP的三次握手和四次揮手的過程,有助于我們更加直觀的理解TCP協(xié)議。
好了,暫時先告一段落吧,這里只是簡單是寫了軟件的基本使用,如果要抓取HTTP和HTTPS協(xié)議的數(shù)據(jù)的話,個人建議使用Fiddler。其他更加高級的應(yīng)用在后面再分享吧,另外還有一款強大的抓包工具Charles,只不過它是收費的。
拓展知識:
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請注明出處:http:///45761.html