日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

初窥wireshark fiddler等抓包工具及部分实现分析

發(fā)布時(shí)間:2024/9/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初窥wireshark fiddler等抓包工具及部分实现分析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

做過(guò)網(wǎng)絡(luò)方面開(kāi)發(fā)的同學(xué)都知道,一個(gè)適用的抓包工具對(duì)工作問(wèn)題的分析是很有用的。前段時(shí)間我也在折騰網(wǎng)絡(luò)方面的相關(guān)開(kāi)發(fā),所以又重新使用了一下網(wǎng)絡(luò)抓包工具。接下來(lái)就介紹一下現(xiàn)在用的比較多的幾個(gè)網(wǎng)絡(luò)抓包工具。

基本介紹: ?????1、wireshark: wireshark的前身是Ethereal,2006年因?yàn)槠鋭?chuàng)始人Gerald Combs的跳槽而改名為wireshark。它是一個(gè)跨平臺(tái)的軟件,可以在unix系列、linux、mac os、windows等多個(gè)平臺(tái)上面進(jìn)行網(wǎng)絡(luò)協(xié)議抓包工作。同時(shí)他也是一個(gè)開(kāi)源軟件,有興趣的話可以下載源碼深入了解。我們可以通過(guò)wireshark官網(wǎng)進(jìn)一步了解相關(guān)知識(shí)及下載該軟件。 2、fiddler fiddler的定位是網(wǎng)頁(yè)調(diào)試工具,能記錄所有客戶端和服務(wù)器的http和https請(qǐng)求,允許你監(jiān)視,設(shè)置斷點(diǎn),甚至修改輸入輸出數(shù)據(jù)。我們還可以為fiddler安裝自己所需的插件,從而更好的利用fiddler的強(qiáng)大功能。詳細(xì)介紹信息可以通過(guò)fiddler官網(wǎng)進(jìn)一步了解, 3、IEInspector HTTP Analyzer IEInspector HTTP Analyzer同樣能夠提供監(jiān)控、跟蹤、調(diào)試和分析http/https的功能。HTTP Analyzer的很多特色功能在這里有比較詳細(xì)的介紹,如果你有這方面的需求,可以從進(jìn)一步了解。不過(guò),這是一個(gè)付費(fèi)軟件,你可以先使用一段時(shí)間,試用版下載地址。 4、sniffer 還是大學(xué)的時(shí)候用過(guò)這個(gè)這個(gè)抓包工具,那個(gè)時(shí)候還是覺(jué)得這個(gè)工具挺神奇的,后來(lái)用的就用的少了。前段時(shí)間想重新裝一次試試,發(fā)現(xiàn)其安裝過(guò)程太繁瑣了,并且安裝后沒(méi)法偵聽(tīng)到網(wǎng)卡,估計(jì)是因?yàn)樽约合螺d的版本太低的緣故。反正現(xiàn)在也只是抱著再玩玩這個(gè)工具的心態(tài)去裝的,用不了所以就放棄卸載了。

深入了解: 對(duì)于上述的四種抓包工具,個(gè)人是比較推薦wireshark和fiddler的,這兩個(gè)工具在功能上基本可以互補(bǔ),能完成你的抓包常用需求,是網(wǎng)絡(luò)開(kāi)發(fā)的利器。下面我也會(huì)重點(diǎn)介紹這兩個(gè)工具,并會(huì)簡(jiǎn)要分析這兩個(gè)工具的異同點(diǎn),同時(shí)也會(huì)嘗試著去了解這兩個(gè)工具的部分實(shí)現(xiàn)方式。 至于這兩個(gè)工具的使用方式就不做過(guò)多介紹了,網(wǎng)上這方面的教程比較全,下面的提到的幾篇文章應(yīng)該已經(jīng)能夠基本滿足需求,講的也足夠詳細(xì),我也是通過(guò)看這些文章來(lái)開(kāi)始熟悉使用的。 wireshark使用教程: 1、Wireshark抓包工具使用教程以及常用抓包規(guī)則 2、wireshark的使用教程 上面的簡(jiǎn)單介紹里面已經(jīng)講到了wireshark開(kāi)源和跨平臺(tái)的特點(diǎn),接下來(lái)介紹一下wireshark的其他幾個(gè)重要的特點(diǎn)。 wireshark的界面開(kāi)發(fā)用的是GTK+ widget toolkit,當(dāng)然如果你不喜歡界面, TShark也還是能滿足你的需求。 wireshark使用pcap network library來(lái)進(jìn)行封包捕捉。Lipcap(Linux)或者Winpcap(Windows)。windows平臺(tái)下,在安裝wireshark的時(shí)候你就會(huì)發(fā)現(xiàn)會(huì)提示你安裝winpcap,當(dāng)然,如果你已經(jīng)安裝過(guò)了就沒(méi)有這個(gè)提示了。 ?????WinPcap(Windows Packet Capture)是Windows平臺(tái)下的鏈路層網(wǎng)絡(luò)訪問(wèn)工具,其目的在于為Windows應(yīng)用程序提供訪問(wèn)網(wǎng)絡(luò)底層的能力。
? ? ?WinPcap功能:
??????????獲得網(wǎng)卡設(shè)備列表及其高級(jí)信息
??????????打開(kāi)一個(gè)網(wǎng)卡適配器并將其設(shè)置成混雜模式 捕獲數(shù)據(jù)包
??????????設(shè)置過(guò)濾器
??????????將數(shù)據(jù)包存儲(chǔ)為文件并處理離線文件
??????????發(fā)送數(shù)據(jù)包
??????????收集網(wǎng)絡(luò)通信流量的統(tǒng)計(jì)信息
但是,WinPcap不能修改數(shù)據(jù)包或者攔截?cái)?shù)據(jù)包 WinPcap架構(gòu):
?? ??? ? 網(wǎng)絡(luò)數(shù)據(jù)包過(guò)濾器(Netgroup Packet Filter,NPF)是一個(gè)協(xié)議驅(qū)動(dòng),是WinPcap的核心部件,它處理網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包,并向應(yīng)用層提供捕捉、發(fā)送和分析數(shù)據(jù)包的服務(wù)。
?? ??? ? packet.dll是一個(gè)提供了一系列底層函數(shù)的動(dòng)態(tài)鏈接庫(kù),功能包括:
?? ??? ??? ? 安裝、啟動(dòng)和停止NPF驅(qū)動(dòng)設(shè)備
?? ??? ??? ? 對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行嗅探
?? ??? ??? ? 發(fā)送原始的數(shù)據(jù)報(bào)
?? ??? ??? ? 獲取網(wǎng)卡列表和每一個(gè)網(wǎng)絡(luò)的相關(guān)信息
?? ??? ??? ? 對(duì)網(wǎng)卡查詢和設(shè)置底層參數(shù)
?? ??? ?能Wpcap.dll是一個(gè)含有WinPcap公共API的動(dòng)態(tài)鏈接庫(kù),它導(dǎo)出一系列函數(shù)供捕獲網(wǎng)絡(luò)數(shù)據(jù)包和分析網(wǎng)絡(luò),功能包括:
?? ??? ??? ? 對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行嗅探
?? ??? ??? ? 發(fā)送原始的數(shù)據(jù)報(bào)
?? ??? ??? ? 獲取網(wǎng)卡列表和每一個(gè)網(wǎng)絡(luò)的相關(guān)信息
?? ??? ??? ? 將數(shù)據(jù)包信息保存到磁盤(pán)
?? ??? ??? ? 在更高層上創(chuàng)建包過(guò)濾規(guī)則并應(yīng)用到底層
因?yàn)槭褂脀inpcap是直接進(jìn)行網(wǎng)卡抓包的,所以Wireshark能夠捕獲到經(jīng)過(guò)網(wǎng)卡的所有包,但是這樣也造成在用wireshark對(duì)HTTPS包抓取的時(shí)候它只能抓到解析前的包數(shù)據(jù),一般情況下不能直接解析,當(dāng)然如果你一定要解析內(nèi)容頁(yè)是可以做到的,網(wǎng)上搜索一下也能找到相關(guān)的教程。 winpcap的進(jìn)一步了解可參考?WinPcap技術(shù)手冊(cè) V4.1.2。 wireshark另外一個(gè)非常強(qiáng)大的功能呢就是它的過(guò)濾器,包括DisplayFilters和CaptureFilters,熟練配合使用這個(gè)這兩個(gè)Filter能夠讓你只看到你所需要的包。 捕捉過(guò)濾器(CaptureFilters):用于決定將什么樣的信息記錄在捕捉結(jié)果中。需要在開(kāi)始捕捉前設(shè)置。
?????顯示過(guò)濾器(DisplayFilters):在捕捉結(jié)果中進(jìn)行詳細(xì)查找。他們可以在得到捕捉結(jié)果后隨意修改。 當(dāng)然這個(gè)過(guò)濾器的種類(lèi)也是非常之多,要想能過(guò)熟練使用也絕非易事。過(guò)濾器Display Filter Reference介紹。 另外wireshark也支持一部分功能的擴(kuò)展,wireshark對(duì)常見(jiàn)協(xié)議的支持已經(jīng)比較完善,當(dāng)然,如果你需要它對(duì)某些新協(xié)議進(jìn)行支持的話你也可以安裝相應(yīng)的插件。

? ? ?fiddler: 1、Fiddler 教程 2、抓包工具Fiddler的使用 fiddler的實(shí)現(xiàn)方式和wireshark不同,它并不對(duì)網(wǎng)卡進(jìn)行監(jiān)聽(tīng),而只是以代理web服務(wù)器的形式工作。它使用代理地址:127.0.0.1,端口:8888。當(dāng)Fiddler退出的時(shí)候它會(huì)自動(dòng)注銷(xiāo),這樣就不會(huì)影響別的程序。他的實(shí)現(xiàn)方式也解釋了為什么使用fiddler進(jìn)行網(wǎng)絡(luò)抓包的時(shí)候,當(dāng)某些應(yīng)用進(jìn)行沒(méi)有真實(shí)證書(shū)的https訪問(wèn)的時(shí)候,fiddler會(huì)有一個(gè)彈出框警示。 fiddler的實(shí)現(xiàn)方式如下圖,從它的實(shí)現(xiàn)方式中我們可以很簡(jiǎn)單的看出,fiddler只支持http/https協(xié)議的抓取,這也從實(shí)現(xiàn)角度上解釋了它定位成網(wǎng)頁(yè)調(diào)試工具的原因。
監(jiān)聽(tīng)網(wǎng)卡和代理web服務(wù)器這兩種實(shí)現(xiàn)方式還是有挺大區(qū)別的。Fiddler能嗅探到HTTP代理的任意程序的數(shù)據(jù)包,但實(shí)際情況是,很多應(yīng)用程序在一些賬號(hào)登陸的流程上是沒(méi)有走h(yuǎn)ttp代理的,之前在嘗試抓有些應(yīng)用的登陸過(guò)程時(shí)就看到了這個(gè)問(wèn)題。 當(dāng)然,fiddler的這種代理服務(wù)器的實(shí)現(xiàn)方式也讓它能夠設(shè)置斷點(diǎn),并可以再此基礎(chǔ)上修改request和response報(bào)文內(nèi)容。 fiddler能支持https協(xié)議的分析,當(dāng)然,前提是你先允許它抓取https數(shù)據(jù),這個(gè)可以自己設(shè)置。像chrome這種登陸密碼不加密的工具,完全可以用fiddler來(lái)偵聽(tīng)到用戶名密碼。(之前這個(gè)理解有誤,更正一下。fiddler能夠抓到https協(xié)議中的內(nèi)容(如Chrome這種自己不加密密碼而是用https加密的工具的用戶名密碼),原因是fiddler以一個(gè)本地服務(wù)器的形式工作,當(dāng)chrome向自己服務(wù)器請(qǐng)求一個(gè)https的證書(shū)時(shí),fiddler會(huì)在中間截下來(lái),然后返回一個(gè)它自己能夠解析的https證書(shū),并同時(shí)向真正的服務(wù)器再請(qǐng)求一次,并保存真正服務(wù)器返回的證書(shū)。chrome收到fiddler返回的證書(shū)后開(kāi)始用這個(gè)證書(shū)加密數(shù)據(jù),再將數(shù)據(jù)上傳。fiddler在截到這份數(shù)據(jù)后,因?yàn)槭亲约航o的證書(shū),所以它能正確的解析出數(shù)據(jù),同時(shí)將原始數(shù)據(jù)再用真正的證書(shū)加密一次,并上傳至真正的服務(wù)器。這樣就實(shí)現(xiàn)了https內(nèi)容的抓取。) 另外,新版fiddler還能支持win8 metro的抓包,之前開(kāi)發(fā)win8 app的時(shí)候一直沒(méi)有找到一款合適的抓包工具,現(xiàn)在看來(lái)fiddler幫我們解決這個(gè)問(wèn)題了,詳細(xì)介紹可以參考Fiddler and Windows 8 Metro-style applications。
? ? ?如果你想進(jìn)一步研究fiddler,可以買(mǎi)fiddler創(chuàng)始人寫(xiě)的《Debugging with Fiddler: The complete reference from the creator of the Fiddler Web Debugger》這個(gè)書(shū)來(lái)深入研究。不過(guò)老美挺看重版權(quán)的,所以無(wú)論電子書(shū)還是紙質(zhì)書(shū)都挺貴。 因本人知識(shí)水平有限,如有錯(cuò)誤的地方歡迎指正。

來(lái)源:http://blog.csdn.net/lisztlee/article/details/8221135

總結(jié)

以上是生活随笔為你收集整理的初窥wireshark fiddler等抓包工具及部分实现分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。