首頁 > 運維 > 安全 > 主體

如何分析TCP及IP的網路層相關封包與數據

王林
發布: 2023-05-13 23:55:04
轉載
1186 人瀏覽過
  1. TCP/IP的網路層相關封包與資料

    1)  IP封包的封裝:IPv4有32位,IPv6有128位元。 IP封包最大可以為65535bytes。其架構如下圖:

如何分析TCP及IP的網路層相關封包與數據

    額外說明的有:

        服務類型:主要分為,PPP,表示此IP封包的優先權,目前很少是使用;D,若為0表示一般延遲(delay),若為1表示為低延遲;T,若為0表示為一般傳輸量,若為1表示為高傳輸量;R,若為0表示為一般可靠性,若為1表示為高可靠性;UU:保留尚未被使用;總共合起來為格式為PPPDTRUU。

        旗標:格式為DM,其中,D,若為0表示可分段,若為1表示不可分段;M,若為0表示此IP為最後分段,若為1表示非最後分段。

        分段偏移:表示這個IP分段目前在原始IP封包中所佔的位置。透過TotalLength,Identification,Flags以及Fragment Offset才能將小的IP分段在收受端組合起來。

        存活時間:範圍0-255,當IP封包通過一個路由器時,TTL會減一,當TTL為0時,這個封包將會被丟棄。

        協定代碼:各程式碼的意義為,1,ICMP(InternetMessage Control);2,IGMP(Internet Group Management Protocol);3,GGP(Gateway-to-GatewayProtocol);4,IP(IP in IP encapsulation);6,TCP(Transmission Control Protocol);8,EGP(ExteriorGateway Protocol);17,UDP(Use Data Program)。

        表頭檢查碼:用來檢查這個IP表頭的錯誤檢查碼之用。

        目標位址:目標IP位址

        其他參數:額外選項,提供包含安全處理機制,路由記錄,時間戳,嚴格與寬鬆之來源路由等。

        補齊項目:由於Options的內容不一定有多大,但IP每個資料都必須是32bits,所以,若Options的資料不足32bits時,則有padding補齊。

        2)  IP位址的組成與分級:

        IP組成:網路號碼與主機號碼。

        相同網域(網段):在同一個實體網段內,主機的IP具有相同的網路號碼和獨立的主機號碼。而主機號碼全為0和全為1(廣播位址)的IP是不可用的。同一網段內的主機若設定相同的網域IP範圍(不可重複)可以透過CSMA/CD的功能直接在區網路內以廣播進行網路的聯機(亦即可直接網卡對網卡傳遞資料)。在同一個實體網段之內,如果兩部主機設定成不同的IP網段,則由於廣播位址的不同,導致無法透過廣播的方式來進行聯機。此時要透過路由器(router)來進行溝通才能將兩個網域連接在一起。

        IP分級:整個IP分為五個等級,如下圖:

        如何分析TCP及IP的網路層相關封包與數據

     最常用在大批電腦的網路還原)。

        E類別:保留未使用的網段。

    3)  IP種類與取得方式

        IP種類:公共IP,由InterNIC統一規劃的IP,此IP才能連上Internet;私有(保留)IP:無法連接到InternetIP:無法連接到Internet的IP,主要用於區域網路內的主機聯機規劃。

        私有IP分類:A類,10.0.0.0~10.255.255.255;B類,172.16.0.0~172.31.255.255;C172.16.0.0~172.31.255.255;C類,192.1685     自動取得網路參數:在區域網路內會有一部主機專門負責管理所有電腦的網路參數,當其他主機網路啟動時,會主動向該服務要求IP參數,若取得網路相關參數後,主機就能夠自行設定好所有伺服器給你的網路參數,從而連上網路。

    4)  Netmask,子網路與CIDR(Classless Interdomain Routing)

        Netmask:網路號碼全取1而主機號碼全取0的IP位址。

        Network:此網段的第一個IP位址,即網路號碼為網路號碼,而主機號碼全為0

        網路域表示方法:常用Network以及Netmask來表示一個網路網域表示方法域。 192.168.0.0/255.255.255.0或192.168.0.0/24(其中24表示網路號碼佔24位元)

#       無等級網路域間路由(無類別借用器路由為主機網路號碼號,以使得多個網域寫成一個,這種打破原本IP代表等級的方式就被稱為無等級網域間路由(可以減少路由訊息,從而提升效能)。

    5)  路由的概念:當一部主機傳送資料到另一台主機時,此主機會檢視本身的路由資訊並與資料的目標位址比較,若找到目標IP,則傳送到指定的機器,否則傳送到預設網關,再進行傳輸。重複此過程,直到資料到達目的地。

    6)  route [-n]:觀察路由表的指示,參數

        a)-n:主機名稱以IP的方式顯示。

        b)資料顯示解讀,

        Destination:Network的意思

      #10. #        Genmask:Netmask

        Flags:旗標,U,以代表此路由可用;G,代表此網路需要經由Gateway來幫忙傳遞;H:代表此行路由為一部主機,而非一整個主機為一個主機可經由Gateway來幫忙傳遞;H:代表此行路由為一部主機,而非一整個主機為一台主機,而非一整個主機為一台主機,而非一整個主

        Iface:介面(interface)即網路卡代號。

    7)  ARP(Address Resolution Protocol,網路位址解析協定),RARP(Revers ARP,反向位址解析協定。

##    8)  arp [-nd];arp –s hostname( IP) Hardware_address:取得本機的ARP表格內的IP/MAC對應的數據,參數:

        a)-n:以主機IP的形態顯示

       hostname的hardware_address由ARP table當中刪除。

        c)-s:設定某IP或hostname的MAC到ARP table中(用於建立靜態的ARP)。

    9)  ICMP(Internet Control Message Protocol,因特網訊息控制協定):是一個錯誤偵測與回報的機制,最大的功能就是可以確保我們網路的線上狀態與連線的正確性。 ICMP也是網路層重要的封包之一,不過,這個封包並非獨立存在,而是納入到IP封包中,也就是說,ICMP同樣是透過IP封包來進行資料傳送的。 ICMP比較常見的ICMP的類別:

        0:Echo Reply,代表一個回應資訊

        3:Destination Unreach 

1Source

##當router的負載過高時,此類別碼可用來讓發送端停止發送訊息)

        5:Redirect,(用來重新導向路由路徑資訊)

      請求回應訊息

        11:Time Exceeded for a Datagram,當資料封包在某些路由傳送的現像中造成逾時狀態,此類別碼可告知來源此封包已忽略的訊息

        12:Parameter Problem on a Datagram,當一個ICMP封包重複先前的錯誤時,會回復來源主機關於參數錯誤的訊息。

        13:Timestamp Request,請對方送出時間訊息,以計算路由時間差異,以符合同步協定的要求

        14:Timestamp Replay##        14:Timestamp Replay,#        14:Timestamp Replay,此#      的

        15:Information Request,在RARP協定應用之前,此訊息用來在開機時,取得網路資訊。

        16:Information Replay,以回應Information Request訊息

        17:Address Mask Request Mask Reply,回應子網路mask查詢訊息的。

    ping和trcaceroute兩個指令可以透過ICMP封包來確認與回報網路主機的狀態,

以上是如何分析TCP及IP的網路層相關封包與數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!