互聯網協議與網絡流量分析


一、概要

    OSI(開放式系統互聯通信參考模型)將計算機網絡體系划分為七個層次,由上而下分別為:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層和物理層。

    TCP/IP傳輸控制/網絡(網絡通信)協議,是能夠在多個不同網絡間實現信息傳輸的協議簇,其中以TCP、IP協議最具代表性。TCP/IP協議在一定程度上參考了OSI模型,將其簡化為四層結構,分別為:應用層、運(傳)輸層、網絡層和網絡接口層。

    不管網絡體系怎么划分,其每一層都完成了相應的功能,為了實現這些功能,就需要制定相應的准則,也就是我們常說的網絡協議,所有網絡協議的總稱叫做“互聯網協議”。

二、網絡協議

    互聯網的核心是一系列協議,總稱為"互聯網協議"(Internet Protocol Suite)。它們對電腦如何連接和組網,做出了詳盡的規定。理解了這些協議,就理解了互聯網的原理。下面以TCP/IP模型逐層理解網絡協議。

1.網絡協議的三個要素(語義、語法、時序)

    語義、語法和時序,分別表示要做什么,怎么做和先后順序。

    語義:解釋控制信息每個部分的意義,它規定了需要發出何種控制信息,以及完成的動作與做出什么樣的響應。

    語法:語法是用戶數據與控制信息的結構與格式,以及數據出現的順序。

    時序:時序則是對事件發生順序的詳細說明。

2.應用層

    應用層用於規定應用程序各種數據的格式,HTTP(超文本傳輸協議)協議是應用層的一個重要的協議,是一個簡單的請求/響應協議,是無連接、無狀態的,我們平時瀏覽網頁使用到的就是HTTP協議,它被嵌入到TCP數據包中。

    DNS(域名解析協議)是一個應用層協議,它將IP地址和域名做一個映射,DNS建立在TCP、UDP協議之上,默認使用UDP協議通信,在廣域網或者報文長度超過512字節時使用TCP協議進行通信。

3.傳輸層

    傳輸層主要協議為TCP和UDP,TCP協議(傳輸控制協議)是一種面向連接的,可靠的傳輸層通信協議,典型應用例子為HTTP協議,TCP傳輸方式是基於字節流的(雖然應用程序和TCP的交互是一次一個數據塊,但是TCP把應用程序當作一連串的無結構的字節流)。TCP數據傳輸的可靠性是基於報文握手實現的,建立連接時采用三報文握手,關閉連接時采用四報文握手,過程如下:


 

    而UDP協議(用戶數據報協議)則是無連接的,可靠性較差的協議,它發送報文后無法確定報文是否安全完整到達目的地址,其優點是傳輸速度快,典型的應用為DNS協議。

4.網絡層

    IP協議(網際互連協議),規定網絡地址的協議,它所定義的地址,就被稱為IP地址。IP協議的作用主要有兩個,一個是為每一台計算機分配IP地址,另一個是確定哪些地址在同一個子網絡。IP數據包中嵌入了TCP數據包,並在數據包中設定源地址和目的地址,完成后IP數據包再嵌入到以太網數據包中進行發送。

    ARP協議(地址解析協議),APR根據IP地址查詢目標主機的MAC地址,如果兩台主機不在同一個子網絡,就得不到目標主機的MAC地址,只能把數據包傳送到兩個子網絡連接處的"網關"(gateway),讓網關去處理。如果兩台主機在同一個子網絡,ARP協議可以通過發出一個數據包(包含在以太網數據包中),其中包含它所要查詢主機的IP地址,在對方的MAC地址這一欄,填的是FF:FF:FF:FF:FF:FF,表示這是一個"廣播"地址。它所在子網絡的每一台主機,都會收到這個數據包,從中取出IP地址,與自身的IP地址進行比較。如果兩者相同,都做出回復,向對方報告自己的MAC地址,否則就丟棄這個包。(注:在OSI模型中,將ARP划為數據鏈路層協議,在TCP/IP模型中,ARP協議屬於網絡層)

    IP地址、MAC地址都知道的情況下,以太網數據包就可以發送到任意一台主機上了。

5.網絡接口層

    網絡接口層與OSI參考模型中的物理層和數據鏈路層相對應。網絡接口層是TCP/IP與各種LAN或WAN的接口。

     網絡接口層在發送端將上層的IP數據報封裝成幀后發送到網絡上;數據幀通過網絡到達接收端時,該結點的網絡接口層對數據幀拆封,並檢查幀中包含的MAC地址。如果該地址就是本機的MAC地址或者是廣播地址,則上傳到網絡層,否則丟棄該幀。

    整個計算機網絡體系的四層結構構成、實現功能和常見的網絡協議如上所述,大致反映了互聯網協議發揮的作用和通信的過程。

三、流量監聽與分析

   1.簡介

     訪問網頁一般由HTTP、HTTPS協議承擔數據的傳輸,於是出現了許多基於對網站流量的抓包工具,典型的有Fiddler和Wireshark。

    2.Fiddler

    Fiddler是以代理web服務器的形式工作的,支持pc和移動端,它能夠記錄客戶端和服務器之間的所有 HTTP/HTTPS請求,可以針對特定的HTTP請求,分析請求數據、設置斷點、調試web應用、修改請求的數據,甚至可以修改服務器返回的數據,功能強大。

   3.wireshark

     wireshark抓包比Fiddler更全面,Wireshark抓的包信息量很大,通常需要進行一些過濾操作,才能把有用的信息拿到,輸入框輸入過濾規則,即可過濾出我們需要的一些信息。Wireshark的過濾規則,使用的是正則表達式來寫的。具體可參考地址:

http://wenku.baidu.com/link?url=lpU_NJguXVsiZ1YMTz13b_ngl2xNE--CFh8xChvc5QjisTFV4VhX65ID4TvX5WuaHLX7hRwMfEgTKylnUAdtaOF3rkVF_JfXoEDxjlTgq7i

wireshark使用方便,直接選擇想要捕獲的接口即可監聽該網卡的數據流量。

    4.流量分析

    在進行流量分析之前首先需要了解HTTP響應的狀態碼,常見的狀態碼鏈接地址: https://pan.baidu.com/s/1qMQizXzS4RxIsw4bUTwdIw 提取碼: wv7j

    主要介紹使用wireshark分析器分析數據流的過程,分析包是Wireshark最強大的功能之一。分析數據流過程就是將數據轉換為可以理解的請求、應答、拒絕和重發等。幀包括了從捕獲引擎或監聽庫到核心引擎的信息。Wireshark中的格式由成千上萬的協議和應用程序使用,它可以調用各種各樣的分析器,以可讀的格式將字段分開並顯示它們的含義。下面將介紹詳細分析Wireshark的包信息。例如,一個以太網網絡中的主機向Web網站發送HTTP GET請求時,這個包將由五個處理器進行處理。分別如下所示:

4.1.幀分析器

    幀分析器用來檢測和顯示捕獲文件的基本信息,如每個幀的時間戳,如下圖所示。然后幀分析器傳遞幀給以太網分析器。


 

    可以看到幀(Frame)的編號以及大小,捕獲時間等。

4.2.以太網分析器

以太網分析器用來解碼、顯示以太網幀(Ethernet II)頭部的字段、字段類型的內容等。然后傳遞給下一個分析器,也就是IPv4分析器。如下圖所示,該字段類型值為0x0806,0x0806表示是一個IP頭部。


 

從該界面可以看到在以太網幀頭部中封裝的信息,包括發送方的源MAC地址和目標MAC地址。

    4.3.IPv4分析器

     IPv4分析器用來解碼IPv4頭部的字段,並基於協議字段的內容傳遞包到下一個分析器。如下圖所示,該界面顯示了IPv4分析器中的內容。


 

從該界面可以看到TCP協議字段的值為6

    4.4.TCP分析器接管

    TCP分析器用於解碼TCP頭部的字段,並基於端口字段的內容,將幀傳遞給下一個分析器。如下圖所示,該界面顯示了TCP分析器中的內容。


 

    從該界面可以看到,目標端口為HTTP協議的80端口。在下一節,將介紹Wireshark如何處理運行在非標准端口上的流量。

4.5.HTTP分析器接管

在本例中,HTTP分析器解碼HTTP包的字段。在該包中沒有嵌入式的協議或應用程序,所以這是幀中應用的最后一個分析器,如下圖所示。


 

    從該界面可以看到,客戶端口請求了http://qurl.f.360.cn/wdinfo.php網站。

    5.網絡嗅探工具的優勢和危害

    網絡嗅探器,是一種威脅性極大的被動檢測攻擊工具。使用這種工具,可以監視網絡的狀態、數據流動情況以及網絡上傳輸的信息。當信息以明文的形式在網絡上傳輸時,便可以使用網絡監聽的方式來進行嗅探攻擊。將網絡接口設置在監聽模式,便可以將網上傳輸的信息截獲。黑客常常用它來截獲用戶的口令,而管理員則可以使用嗅探工具分析網絡性能和故障

    5.1.網絡嗅探的發現與防范

    5.1.1.如何有效發現並防范網絡嗅探工具的監控和嗅探。首先,檢查網絡中是否存在下述情況,其原因可能就是網絡中有嗅探工具正在運行。一是網絡丟包率非常高。二是網絡帶寬出現反常現象。

    5.1.2.嗅探過程

    FTP口令嗅探:使用wireshark,找到ftp地址的IP,在用戶登錄的時候捕捉用戶名和口令,如下圖所示:


 

    HTTP口令嗅探:同上,利用找到的未加密的管理平台IP,獲取HTTP口令密碼。

     5.1.3.嗅探的防范,通過使用加密軟硬件設備,實現對傳輸數據的加密,從而保護傳輸數據的安全,例如VPN、SSL、SSH等加密手段可有效防范網絡嗅探。也可以利用網絡設備的物理或者邏輯隔離的手段,可以避免信息的泄密,例如利用交換機的VLAN功能,實現VLAN間的邏輯隔離。

 

 

以上對網絡協議的分析和數據流的分析大致體現了網絡的一個運作過程,需要更詳細、全面的學習推薦《TCP/IP詳解》,一共三卷。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM