摘要:網(wǎng)絡(luò)協(xié)議分析基于的協(xié)議分析關(guān)于是一款由開發(fā)的免費(fèi)調(diào)試代理軟件,有和兩種版本?;诘膮f(xié)議深入分析關(guān)于前稱是一個(gè)網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是擷取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。
網(wǎng)絡(luò)協(xié)議分析
1.基于Fiddler的HTTP/HTTPS協(xié)議分析關(guān)于Fiddler:
???? Fiddler是一款由C#開發(fā)的免費(fèi)http調(diào)試代理軟件,有.net 2和.net 4兩種版本。Fiddler能夠記錄所有的電腦和互聯(lián)網(wǎng)之間的http通訊,F(xiàn)iddler 可以也可以檢查所有的http通訊,設(shè)置斷點(diǎn),以及Fiddle 所有的“進(jìn)出”的數(shù)據(jù)。
優(yōu)點(diǎn):
>a.Firebug雖然可以抓包,但是對(duì)于分析http請(qǐng)求的詳細(xì)信息,不夠強(qiáng)大。模擬http請(qǐng)求的功能也不夠,且firebug常常是需要“無(wú)刷新修改”,如果刷新了頁(yè)面,所有的修改都不會(huì)保存; >b.Wireshark是通用的抓包工具,但是比較龐大,對(duì)于只需要抓取http請(qǐng)求的應(yīng)用來(lái)說(shuō),似乎有些大材小用。且Wireshark無(wú)法解密HTTPS故而選擇使用fiddler來(lái)對(duì)HTTP協(xié)議進(jìn)行分析; >c.Httpwatch也是比較常用的http抓包工具,但是只支持IE和firefox瀏覽器(其他瀏覽器可能會(huì)有相應(yīng)的插件),對(duì)于想要調(diào)試chrome瀏覽器的http請(qǐng)求,似乎稍顯無(wú)力,而Fiddler2 是一個(gè)使用本地 127.0.0.1:8888 的 HTTP 代理,任何能夠設(shè)置 HTTP 代理為 127.0.0.1:8888 的瀏覽器和應(yīng)用程序都可以使用 Fiddler。
這里為體現(xiàn)個(gè)人特色,選擇在本地服務(wù)器運(yùn)行觀察抓包結(jié)果,如圖:
????實(shí)際上,Wireshark抓不到本地服務(wù)器發(fā)送報(bào)文,這也是Fiddler更利于開發(fā)調(diào)試的原因之一。
HTTP協(xié)議分析(1):由于之前本地測(cè)試過(guò),所以第一次抓到的包返回的狀態(tài)碼是304,清除緩存后變?yōu)檎5?00,圖中我們可以看到返回的數(shù)據(jù):“譚繼臻FiddlerHTTP協(xié)議測(cè)試”,這里我們通過(guò)請(qǐng)求頭報(bào)文可以看到請(qǐng)求站點(diǎn)(localhost:81),請(qǐng)求方式(XMLHttpReQuest)等信息。由于Fiddler只能抓到HTTP/HTTPS的包,關(guān)于HTTP協(xié)議的深入分析我們使用Wireshark進(jìn)行。、
關(guān)于Wireshark:
????Wireshark(前稱Ethereal)是一個(gè)網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是擷取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)封包資料。Wireshark使用WinPCAP作為接口,直接與網(wǎng)卡進(jìn)行數(shù)據(jù)報(bào)文交換。
優(yōu)點(diǎn):
>a.使用操作非常簡(jiǎn)單,對(duì)于初級(jí)和中級(jí)網(wǎng)絡(luò)學(xué)習(xí)者來(lái)說(shuō)是一款完美的抓包軟件。 >b.有很多小工具和小技巧可以幫助我們更快更好的了解網(wǎng)絡(luò),例如filter,expression,statistics等等。 >c.界面設(shè)計(jì)很簡(jiǎn)潔,給使用者一種非常清新的感覺(jué)。 >d.與Fiddler相比可抓取的包更廣,更多,并且軟件開源,用著放心。
實(shí)例分析TCP三次握手過(guò)程:
這里我們打開嗶哩嗶哩網(wǎng)站首頁(yè)觀察抓包情況(http://www.bilibili.com/);
第一次握手?jǐn)?shù)據(jù)包?
????客戶端發(fā)送一個(gè)TCP,標(biāo)志位為SYN,序列號(hào)為0,?代表客戶端請(qǐng)求建立連接。如下圖:
第二次握手的數(shù)據(jù)包
?
????服務(wù)器發(fā)回確認(rèn)包,?標(biāo)志位為?SYN,ACK.?將確認(rèn)序號(hào)(Acknowledgement?Number)設(shè)置為客戶的I?S?N加1以.即0+1=1,?如下圖:
第三次握手的數(shù)據(jù)包
????客戶端再次發(fā)送確認(rèn)包(ACK)?SYN標(biāo)志位為0,ACK標(biāo)志位為1.并且把服務(wù)器發(fā)來(lái)ACK的序號(hào)字段+1,放在確定字段中發(fā)送給對(duì)方.并且在數(shù)據(jù)段放寫ISN的+1,如下圖:
????就這樣通過(guò)了TCP三次握手,建立了連接,三次握手基本結(jié)束,開始真正的數(shù)據(jù)傳送階段:
建立了三次握手后,我們就開始利用這個(gè)鏈接來(lái)傳送信息了。下面我們看看經(jīng)過(guò)三次握手后的第四個(gè)TCP報(bào)文段。這是服務(wù)器返回來(lái)的報(bào)文段:
我們驚奇的發(fā)現(xiàn)服務(wù)器返回了ack=557,即請(qǐng)求第557Byte的數(shù)據(jù),而這557Bytes是什么時(shí)候發(fā)出去的呢,我們想到了在第三次握手的時(shí)候,客戶端發(fā)送的TCP是能夠攜帶數(shù)據(jù)的。怎么驗(yàn)證是否攜帶了557Bytes數(shù)據(jù)呢,我們想到了HTTP協(xié)議封裝的報(bào)文,我們來(lái)驗(yàn)證一下是否是557Bytes,打開HTTP協(xié)議如下:
我們看到,HTTP協(xié)議封裝的報(bào)文,長(zhǎng)度為Bytes?in?flight:556。表示已經(jīng)發(fā)送了557Bytes,所以,服務(wù)器理應(yīng)返回一個(gè)ack=554的確認(rèn),以表示接收到了556Bytes以前的數(shù)據(jù),希望接受557bytes以及以后的數(shù)據(jù)。而上面的第四個(gè)報(bào)文也正是這么做的。?
服務(wù)端返回了ack=557之后,服務(wù)端沒(méi)有繼續(xù)停下,而是繼續(xù)向客戶端發(fā)送了兩個(gè)報(bào)文段。我們來(lái)看下第五、六個(gè)報(bào)文段:
第五個(gè)報(bào)文段發(fā)送了seq=557,ack=1203告訴服務(wù)端,請(qǐng)求你的1203數(shù)據(jù),我這是第557個(gè)數(shù)據(jù)。發(fā)完后服務(wù)端又發(fā)送了第六個(gè)報(bào)文,如下:
????服務(wù)端發(fā)送了seq=1113,ack=2400,這表示:我請(qǐng)求第2400Bytes,這是我的第1113Bytes,這個(gè)報(bào)文之后,服務(wù)端會(huì)繼續(xù)給客戶端傳送數(shù)據(jù),這里就不一一列出了。
斷開連接:
斷開連接時(shí),要發(fā)送FIN=1,并且對(duì)方要回復(fù)ACK=1。我們來(lái)看下截取的報(bào)文段。
我們看到FIN=1。
返回了ACK=1,結(jié)束連接。
????到這里HTTP協(xié)議就算分析結(jié)束了,我們可以看到HTTP傳輸數(shù)據(jù)確實(shí)是靠TCP協(xié)議來(lái)完成的,由于嗶哩嗶哩網(wǎng)站內(nèi)容很多,所以看起來(lái)很亂...這點(diǎn)沒(méi)有考慮周全。
3.使用Wireshark分析ARP協(xié)議在顯示篩選編輯框中輸入“arp”,回車,分組列表窗口將只顯示ARP消息。點(diǎn)擊第一行查看具體數(shù)據(jù):
4.使用Wireshark分析ICMP協(xié)議可以看出硬件類型(hardware?type)是以太網(wǎng)(1),協(xié)議類型(protocol??type)為0x0800,表示使用ARP的協(xié)議類型為IPV4。硬件地址長(zhǎng)度(hardware?size)為6。協(xié)議地址長(zhǎng)度(protocol?size)為4。
發(fā)送方硬件地址(sender??MAC??address):bc:30:7d:97:c8:08?
發(fā)送方協(xié)議地址(Sender?IP?address):192.168.1.5
目的硬件地址(target?MAC?address)為00:00:00:00:00:00,表示是廣播地址。?
目的協(xié)議地址(target?IP?address)為192.168.1.1,定義目的設(shè)備的協(xié)議地址。
????在cmder(也可以是一般的命令行窗口)中以www.damonare.cn(個(gè)人網(wǎng)站)為目標(biāo)主機(jī),在命令行窗口執(zhí)行Ping命令,要求ping通10次;
停止截獲報(bào)文,抓包結(jié)果:(只顯示ping的數(shù)據(jù)包)
在顯示篩選編輯框中輸入“icmpv6”,回車,分組列表窗口將只顯示icmp消息。點(diǎn)擊第一行查看具體數(shù)據(jù):
在顯示篩選編輯框中輸入“ip”,回車,分組列表窗口將只顯示IP消息。選取一個(gè)有IP協(xié)議的數(shù)據(jù)報(bào):
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/49906.html
摘要:要成為華為的經(jīng)銷商,必然需要不同數(shù)量,各個(gè)級(jí)別,各個(gè)方向的華為認(rèn)證工程師。 華為認(rèn)證 華為認(rèn)證體系是華為公司憑借多年ICT人才培養(yǎng)經(jīng)驗(yàn)及對(duì)行業(yè)發(fā)展的深刻理解,基于華...
摘要:知識(shí)圖譜開源庫(kù)或簡(jiǎn)稱是一個(gè)用于構(gòu)建語(yǔ)義和關(guān)聯(lián)數(shù)據(jù)應(yīng)用程序的自由和開源的框架。垂直行業(yè)應(yīng)用下面將以金融醫(yī)療電商行業(yè)為例,說(shuō)明知識(shí)圖譜在上述行業(yè)中的典型應(yīng)用。 知識(shí)圖譜構(gòu)建的關(guān)鍵技術(shù)1 知識(shí)提取2 知識(shí)表示3 知識(shí)融合4 知識(shí)推理知識(shí)推理則是在已有的知識(shí)庫(kù)基礎(chǔ)上進(jìn)一步挖掘隱含的知識(shí),從而豐富、擴(kuò)展知識(shí)庫(kù)。在推理的過(guò)程中,往往需要關(guān)聯(lián)規(guī)則的支持。由于實(shí)體、實(shí)體屬性以及關(guān)系的多樣性,人們很難窮舉所有...
閱讀 3686·2021-10-11 11:09
閱讀 1349·2021-09-24 10:35
閱讀 3441·2021-07-29 13:48
閱讀 474·2019-08-30 13:15
閱讀 2526·2019-08-30 12:53
閱讀 3227·2019-08-30 12:44
閱讀 2720·2019-08-29 16:57
閱讀 970·2019-08-29 12:26