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