天天看點

帶你讀《從實踐中學習TCP/IP協定》之二:網絡通路層第2章 網絡通路層

點選檢視第一章 點選檢視第三章

第2章 網絡通路層

  網絡通路層是TCP/IP協定棧的最底層。它提供實體網絡的接口,實作對複雜資料的發送和接收。網絡通路層協定為網絡接口、資料傳輸提供了對應的技術規範。本章将詳細講解網絡通路層的構成和相關協定。

2.1 網絡通路層的構成

  在TCP/IP協定中,網絡通路層對應OSI七層網絡模型的實體層和資料鍊路層。下面依次介紹這兩個層的作用。

2.1.1 實體層

  實體層是OSI七層網絡模型中的第1層,它雖然處于最底層,卻是整個開放系統的基礎。在進行資料傳輸時,實體層的作用是提供傳送資料的通路和可靠的環境。對于計算機來說,實體層對應的就是網絡擴充卡。

  根據網絡擴充卡的存在方式,可以分為兩類。第一類是實體網絡擴充卡,如有線網卡、無線網卡;第二類是虛拟網絡擴充卡,如寬帶撥接上網、VPN連接配接等。

  【執行個體2-1】顯示計算機上的網絡擴充卡資訊,執行指令如下:

root@daxueba:~# netwox 169           

  輸出資訊如下:

Lo0 127.0.0.1 notether
  Lo0 ::1 notether
  Eth0 192.168.59.131 00:0C:29:CA:E4:66
  Eth0 fd15:4ba5:5a2b:1008:20c:29ff:feca:e466 00:0C:29:CA:E4:66
  Eth0 fd15:4ba5:5a2b:1008:61f8:89cd:3207:9d0 00:0C:29:CA:E4:66
  Eth0 fe80::20c:29ff:feca:e466 00:0C:29:CA:E4:66           

  從輸出資訊可以看到,該計算機中存在兩類網絡擴充卡,分别為Lo和Eth。其中,Lo表示回環接口,它是虛拟網絡擴充卡;Eth為以太網網絡擴充卡。如果同類型裝置有多個,會在後面添加數字編号。編号從0開始,表示該類型的網絡接口的第一個裝置。

2.1.2 資料鍊路層

  資料鍊路層是OSI七層網絡模型中的第2層,介于實體層與網絡層之間,用來為網絡層提供資料傳送服務。它定義了資料傳輸的起始位置,并且通過一些規則來控制這些資料的傳輸,以保證資料傳輸的正确性。由于資料鍊路層完成以上兩個獨立的任務,是以相應地劃分為兩個子層,其含義如下:

  • 媒體通路控制(Media Access Control,MAC):提供與網絡擴充卡連接配接的接口。實際上,網絡擴充卡驅動程式通常被稱為MAC驅動,而網卡在工廠固化的硬體位址通常被稱為MAC位址。
  • 邏輯鍊路控制(Logical Link Control,LLC):這個子層對經過子網傳遞的幀進行錯誤檢查,并且管理子網上通信裝置之間的鍊路。

2.2 網 絡 體 系

  網絡體系定義了實體網絡的構成,以及對應的通信協定。例如,有線網絡和無線網絡是兩種不同的網絡體系。本節将詳細講解網絡體系的構成和類型。

2.2.1 體系的構成

  由于網絡體系不僅定義了網絡構成,還規定了通信方式,是以它包括以下4個方面。

  • 通路方法:定義了計算機使用傳輸媒體的規則。通過這些規則,可以避免資料傳輸的各種沖突。
  • 資料幀格式:定義了資料傳輸的格式。所有要傳輸的資料必須按照該格式進行傳輸。
  • 布線類型:定義了網絡擴充卡和其他網絡裝置的連接配接方式。例如,每台計算機都通過電纜連接配接到網絡裝置,進而形成星型網絡。
  • 布線規則:定義網絡擴充卡和網絡裝置連接配接規範,如網絡擴充卡接口類型和連線長度等。

2.2.2 類型

  由于網絡使用的場景和資料傳輸所使用的終端裝置不同,在實體層中識别的網絡接口裝置也會不同。網絡體系主要分為4大類型,每種類型及使用範圍如下:

  • IEEE 802.3(以太網):在大多數辦公室和家庭中使用的基于線纜的網絡,就是常見的有線區域網路。
  • IEEE 802.11(無線網絡):在辦公室、家庭和咖啡廳使用的無線網絡技術,如Wi-Fi網絡。
  • IEEE 802.16(WiMAX):用于移動通信長距離無線連接配接的技術。
  • 點到點協定(PPP):使用Modem通過電話線進行連接配接的技術,如通過撥号方式建立的網絡連接配接。

2.3 物 理 地 址

  實體位址是一種辨別符,用來标記網絡中的每個裝置。同現實生活中收發快遞一樣,網絡内傳輸的所有資料包都會包含發送方和接收方的實體位址。由于網絡裝置對實體位址的處理能力有限,實體位址隻在目前區域網路内有效。是以,接收方的實體位址都必須存在于目前區域網路内,否則會導緻發送失敗。本節将詳細講解實體位址的使用。

2.3.1 MAC位址是預留的

  由于資料包中都會包含發送方和接收方的實體位址,資料包從起始地發送到目的地,為了能夠正确地将資料包發送出去,就必須要求MAC位址具有唯一性。是以MAC位址都是由生産廠家在生産時固化在網絡硬體中,是硬體預留的位址。

2.3.2 MAC位址格式

  硬體的MAC位址是廠家按照一定的規則,進行設定所産生的。是以,MAC位址擁有自己的格式。它采用十六進制數表示,共6個位元組(48位),長度為48bit。整個位址可以分為前24位和後24位,代表不同的含義。

  • 前24位稱為組織唯一辨別符(Organizationally Unique Identifier,OUI),是由IEEE的注冊管理機構給不同廠家配置設定的代碼,區分了不同的廠家。
  • 後24位是由廠家自己配置設定的,稱為擴充辨別符。同一個廠家生産的網卡中MAC位址後24位是不同的。

2.3.3 查詢MAC廠商

  由于MAC位址的前24位是生産廠商的辨別符,是以可以根據前24位辨別符判斷出硬體的生産廠商和生産位址。使用者可以在一些網站上查詢,如

http://mac.51240.com/

  【執行個體2-2】查詢MAC位址00:0C:29:CA:E4:66所對應的廠商。

  (1)在浏覽器中輸入網址

,如圖2.1所示。

帶你讀《從實踐中學習TCP/IP協定》之二:網絡通路層第2章 網絡通路層

  (2)在“MAC位址”文本框中輸入MAC位址00-0C-29-CA-E4-66。然後單擊“查詢”按鈕,查詢結果如圖2.2所示。

帶你讀《從實踐中學習TCP/IP協定》之二:網絡通路層第2章 網絡通路層

  從圖2.2顯示的資訊中,可以看到MAC位址00-0C-29-CA-E4-66的廠商是VMware,Inc,由此可以推斷出這是一台虛拟機裝置,并且可以看到廠家對應的省份、街道、郵編等資訊。

2.3.4 檢視網絡主機MAC位址資訊

  一個區域網路或公司中往往存在多台計算機,這些計算機都有自己的MAC位址和IP位址。其中,IP位址是可變的,而MAC位址一般是不可變的。為了準确地識别主機,使用者可以擷取計算機對應的MAC位址。

  【執行個體2-3】顯示網絡主機MAC位址資訊。

  (1)顯示區域網路中指定主機的MAC位址資訊。例如,顯示主機192.168.59.133的MAC位址。執行指令如下:

root@daxueba:~# netwox 5 -i 192.168.59.133           
192.168.59.133     00:0C:29:D0:21:23           

  輸出資訊表示主機192.168.59.133的MAC位址為00:0C:29:D0:21:23。

  (2)顯示區域網路中所有主機的MAC位址,執行指令如下:

root@daxueba:~# netwox 5 -i 192.168.59.0/24           

  輸出所有主機的MAC位址如下:

  

192.168.59.1            00:50:56:C0:00:08
  192.168.59.2            00:50:56:EA:F3:A1
  192.168.59.131        00:0C:29:CA:E4:66
  192.168.59.132        00:0C:29:C4:8A:DE
  192.168.59.133        00:0C:29:D0:21:23
  192.168.59.254        00:50:56:F0:69:32           

  以上輸出資訊顯示了區域網路中所有啟用主機的IP位址和對應的MAC位址。

  (3)在顯示區域網路中所有主機的MAC位址資訊時,有時由于暫時沒有發現主機,等待較長的時間,也不會有任何輸出資訊。為了能夠更好地了解目前的進度,可以使用-u選項,顯示未發現主機的MAC位址的資訊,進而可以檢視掃描進度。執行指令如下:

root@daxueba:~# netwox 5 -i 192.168.59.0/24 -u           
192.168.59.0        unresolved
  192.168.59.1        00:50:56:C0:00:08
  192.168.59.2        00:50:56:EA:F3:A1
  192.168.59.3        unresolved
  …                                #省略其他資訊
  192.168.59.131        00:0C:29:CA:E4:66
  192.168.59.132        00:0C:29:C4:8A:DE
  192.168.59.133        00:0C:29:D0:21:23
  192.168.59.134        unresolved
  192.168.59.135        unresolved
  …                                #省略其他資訊
  192.168.59.254        00:50:56:F0:69:32
  192.168.59.255        unresolved           

  從輸出資訊可以看到,程式對區域網路中的所有主機進行了掃描,主機IP位址為192.168.59.0到192.168.59.255。如果掃描的主機存在,則給出對應的MAC位址;如果主機不存在,則顯示為unresolved。

2.3.5 根據MAC位址擷取主機其他資訊

  進行資料傳輸的主機不僅擁有MAC位址,還擁有路由器配置設定的IP位址,有的還會有自己的主機名、标題等資訊。如果知道了主機的MAC位址資訊,那麼就可以使用netwox工具擷取該主機的這些資訊。

  【執行個體2-4】已知一主機的MAC位址為00:0C:29:CA:E4:66,顯示該主機的其他資訊。

  (1)顯示該主機相關資訊,執行指令如下:

root@daxueba:~# netwox 4 -e 00:0C:29:CA:E4:66           
IP address:  192.168.59.131
  Hostname:    localhost
  Hostnames:   localhost           

  從輸出資訊可以看到,該主機的IP位址為192.168.59.131,主機名為localhost。

  (2)如果在顯示資訊時隻想顯示IP位址資訊,可以使用--ip選項,執行指令如下:

root@daxueba:~# netwox 4 -e 00:0C:29:CA:E4:66 --ip           

  輸出資訊隻有IP位址資訊,如下:

192.168.59.131           

  (3)如果在顯示資訊時隻想顯示主機名資訊,可以使用--host選項,執行指令如下:

root@daxueba:~# netwox 4 -e 00:0C:29:CA:E4:66 --host           

  輸出資訊隻有主機名資訊,如下:

localhost           

  (4)如果在顯示資訊時隻想顯示标題資訊,可以使用--title選項,執行指令如下:

root@daxueba:~# netwox 4 -e 00:0C:29:CA:E4:66 --title           

  執行指令後,如果沒有輸出資訊,表示該主機沒有标題資訊。

2.4 以 太 網

  以太網是現有區域網路最常用的通信協定标準,其網絡結構通常為星型結構。在網絡中,計算機使用傳輸媒體進行連接配接,網絡資料通過傳輸媒體進行傳輸來完成整個通信。本節将詳細講解以太網中的相關概念。

2.4.1 以太網連接配接

  以太網是目前最為廣泛的區域網路技術,下面具體講解網絡裝置之間連接配接和資料傳輸的方法,以及以太網中的兩個網絡裝置進行連接配接的方法。

  1.拓撲結構

  計算機網絡的拓撲結構是引用拓撲學中研究與大小、形狀無關的點、線關系的方法。它把網絡中的計算機和通信裝置抽象為一個點,把傳輸媒體抽象為一條線,而由點和線組成的幾何圖形就是計算機網絡的拓撲結構。以太網結構主要分為總線型和星型兩種。

  • 總線型:是指所有計算機通過一條同軸電纜進行連接配接。
  • 星型:是指所有計算機都連接配接到一個中央網絡裝置上(如交換機)。

  2.傳輸媒體

  不論是總線型還是星型,計算機和通信裝置之間進行資料傳輸都需要有傳輸媒體。以太網采用了多種連接配接媒體,如同軸纜、雙絞線和光纖等。其中,雙絞線多用于從主機到集線器或交換機的連接配接,而光纖則主要用于交換機間的級聯和交換機到路由器間的點到點鍊路上。同軸纜作為早期的主要連接配接媒體,現在已經逐漸被淘汰。

  3.工作機制

  有了傳輸媒體以後,以太網中的資料就可以借助傳輸媒體進行傳輸了。以太網采用附加沖突檢測的載波幀聽多路通路(CSMA/CD)機制,以太網中所有節點都可以看到在網絡中發送的所有資訊。是以,以太網是一種廣播網絡。它需要判斷計算機何時可以把資料發送到通路媒體。通過使用CSMA/CD,所有計算機都可以監視傳輸媒體的狀态,在傳輸之前等待線路空閑。如果兩台計算機嘗試同時發送資料,就會發生沖突,計算機會停止發送,等待一個随機的時間間隔,然後再次嘗試發送。

  當以太網中的一台主機要傳輸資料時,工作過程如下:

  (1)監聽信道上是否有信号在傳輸。如果有,表示信道處于忙狀态,則繼續幀聽,直到信道空閑為止。

  (2)若沒有監聽到任何信号,就傳輸資料。

  (3)傳輸資料的時候繼續監聽。如果發現沖突,則執行退避算法。随機等待一段時間後,重新執行步驟(1)。當沖突發生時,涉及沖突的計算機會傳回監聽信道狀态。若未發現沖突,則表示發送成功。

2.4.2 以太幀結構

  以太網鍊路傳輸的資料包稱做以太幀。在以太網中,網絡通路層的軟體必須把資料轉換成能夠通過網絡擴充卡硬體進行傳輸的格式。

  1.工作機制

  當以太網軟體從網絡層接收到資料報之後,需要完成如下操作:

  (1)根據需要把網際層的資料分解為較小的塊,以符合以太網幀資料段的要求。以太網幀的整體大小必須在64~1518位元組之間(不包含前導碼)。有些系統支援更大的幀,最大可以支援9000位元組。

  (2)把資料塊打包成幀。每一幀都包含資料及其他資訊,這些資訊是以太網網絡擴充卡處理幀所需要的。

  (3)把資料幀傳遞給對應于OSI模型實體層的底層元件,後者把幀轉換為比特流,并且通過傳輸媒體發送出去。

  (4)以太網上的其他網絡擴充卡接收到這個幀,檢查其中的目的位址。如果目的位址與網絡擴充卡的位址相比對,擴充卡軟體就會處理接收到的幀,把資料傳遞給協定棧中較高的層。

  2.以太幀結構

  以太幀起始部分由前同步碼和幀開始定界符組成。後面緊跟着一個以太網報頭,以MAC位址說明目的位址和源位址。幀的中部是該幀負載的包含其他協定報頭的資料包,如IP協定。以太幀由一個32位備援校驗碼結尾,用于檢驗資料傳輸是否出現損壞。以太幀結構如圖2.3所示。

帶你讀《從實踐中學習TCP/IP協定》之二:網絡通路層第2章 網絡通路層

  圖2.3中每個字段含義如下:

  • 前同步碼:用來使接收端的擴充卡在接收MAC幀時能夠迅速調整時鐘頻率,使它和發送端的頻率相同。前同步碼為7個位元組,1和0交替。
  • 幀開始定界符:幀的起始符,為1個位元組。前6位1和0交替,最後的兩個連續的1表示告訴接收端擴充卡:“幀資訊要來了,準備接收”。
  • 目的位址:接收幀的網絡擴充卡的實體位址(MAC位址),為6個位元組(48比特)。作用是當網卡接收到一個資料幀時,首先會檢查該幀的目的位址,是否與目前擴充卡的實體位址相同,如果相同,就會進一步處理;如果不同,則直接丢棄。
  • 源位址:發送幀的網絡擴充卡的實體位址(MAC位址),為6個位元組(48比特)。
  • 類型:上層協定的類型。由于上層協定衆多,是以在處理資料的時候必須設定該字段,辨別資料傳遞哪個協定處理。例如,字段為0x0800時,表示将資料傳遞給IP協定。
  • 資料:也稱為效載荷,表示傳遞給上層的資料。以太網幀資料長度最小為46位元組,最大為1500位元組。如果不足46位元組時,會填充到最小長度。最大值也叫最大傳輸單元(MTU)。在Linux中,使用ifconfig指令可以檢視該值,通常為1500。
  • 幀檢驗序列FCS:檢測該幀是否出現差錯,占4個位元組(32比特)。發送方計算幀的循環備援碼校驗(CRC)值,把這個值寫到幀裡。接收方計算機重新計算CRC,與FCS字段的值進行比較。如果兩個值不相同,則表示傳輸過程中發生了資料丢失或改變。這時,就需要重新傳輸這一幀。

2.4.3 建構以太幀

  通過上一節的學習了解了以太幀的結構。使用者可以根據需要設定以太幀的字段值,進而建構以太幀。netwox工具中編号為32的子產品提供了以太幀建構功能。

  【執行個體2-5】建構以太網資料幀。

  (1)檢視以太網資料幀,執行指令如下:

root@daxueba:~# netwox 32           
Ethernet________________________________________________________.
  | 00:0C:29:CA:E4:66->00:08:09:0A:0B:0C type:0x0000             |
  |____________________________________________________________|           

  上述輸出資訊中的00:0C:29:CA:E4:66為源MAC位址,是目前主機的MAC位址;00:08:09:0A:0B:0C為目标MAC位址,0x0000為以太網類型。

  (2)建構以太幀,設定源MAC位址為00:0c:29:c4:8a:de,目标MAC位址為01:02:03: 04:05:06,執行指令如下:

root@daxueba:~# netwox 32 -a 00:0c:29:c4:8a:de -b 01:02:03:04:05:06           
Ethernet________________________________________________________.
  | 00:0C:29:C4:8A:DE->01:02:03:04:05:06 type:0x0000              |
  |_____________________________________________________________|           

  從輸出資訊可以看到,源MAC位址由原來的00:0C:29:CA:E4:66變為了00:0C:29: C4:8A:DE;目标MAC位址由原來的00:08:09:0A:0B:0C變為了01:02:03:04:05:06。

  (3)為了驗證建構的以太幀,通過Wireshark工具進行抓包。在鍊路層中可以看到僞造的源MAC位址和目标MAC位址,資訊如下:

Ethernet II, Src: Vmware_c4:8a:de (00:0c:29:c4:8a:de), Dst: Woonsang_04:05:
  06(01:02:03:04:05:06)           

  (4)為了不被其他主機發現,在構造資料包時,可以指定假的源MAC位址。但是,每構造一次隻能發送一個資料包。如果需要發送多個資料包,就需要構造多次。為了友善,可以使用macchanger工具臨時修改MAC位址,這樣就不需要每次構造假的源MAC位址了。例如,将目前主機的MAC位址修改為00:0c:29:aa:e0:28,執行指令如下:

Current MAC:       00:0c:29:ca:e4:66 (VMware, Inc.)
  Permanent MAC:     00:0c:29:ca:e4:66 (VMware, Inc.)
  New MAC:           00:0c:29:aa:e0:28 (VMware, Inc.)           

  以上輸出資訊表示目前主機原來的MAC位址為00:0c:29:ca:e4:66,修改後的MAC位址為00:0c:29:aa:e0:28。

  (5)再次使用netwox工具進行發包,預設使用修改後的MAC位址作為源MAC位址,如下:

root@daxueba:~# netwox 32           
Ethernet_________________________________________________
  | 00:0C:29:AA:E0:28->00:08:09:0A:0B:0C type:0x0000              |
  |_______________________________________________________ |           

2.4.4 以太幀洪水攻擊

  交換機為了友善資料傳輸,通常會存儲每個端口所對應的MAC位址,形成一張表。當交換機收到計算機發來的以太幀時,就會檢視幀中的源MAC位址,并查找存儲的表。如果表中存在該MAC位址,就直接轉發資料。如果沒有,則将該MAC位址存入該表中。

  當其他計算機向這個MAC位址發送資料時,可以快速決定向哪個端口發送資料。由于該表不可能是無窮大的,是以當達到一定數量時,将不會儲存其他新的MAC位址。再有新的主機發來資料幀時,部分交換機将不再查找對應的端口,而是以廣播的形式轉發給所有的端口。這樣,就使其他主機可以接收到該資料幀了。

  netwox工具提供編号為75的子產品,用來實作以太幀洪水攻擊功能。它可以僞造大量的以太網資料包,填滿交換機的存儲表,使交換機失去正确的轉發功能。

  【執行個體2-6】實施以太幀洪水攻擊,執行指令如下:

root@daxueba:~# netwox 75           

  執行指令後沒有任何輸出資訊,但是會發送大量的以太網資料包。使用Wireshark工具進行抓包,如圖2.4所示。圖中捕獲的資料包為以太幀洪水攻擊産生的資料包。

帶你讀《從實踐中學習TCP/IP協定》之二:網絡通路層第2章 網絡通路層

2.5 網絡配置資訊

  計算機的網絡配置資訊包含網絡裝置接口、IP位址、MAC位址和掩碼等資訊。為了友善使用者檢視計算機中的這些資訊,netwox工具提供了對應的子產品,用于擷取網絡配置資訊。

2.5.1 顯示網絡配置資訊

  為了了解目前網絡的相關資訊,netwox工具提供了編号為1的子產品。它可以顯示目前主機的網絡接口資訊、主機的IP位址資訊,以及路由表等資訊。

  【執行個體2-7】顯示網絡配置資訊,執行指令如下:

root@daxueba:~# netwox 1           

  執行指令後将顯示目前網絡裝置資訊。由于資訊較多,下面對每個部分進行講解。

  (1)顯示網絡裝置接口清單資訊如下:

 

############################## Devices ###############################
  nu     dev       ethernet_hwtype       mtu       real_device_name
  1      Lo0       loopback              65536     lo
  2      Eth0      00:0C:29:CA:E4:66     1500      eth0           

  以上輸出資訊中每列含義如下:

  • nu:裝置編号。
  • dev:裝置接口名稱的簡單形式。
  • ethernet_hwtype:以太網位址或硬體類型。
  • mtu:MTU值。
  • real_device_name:裝置接口名稱的真正形式。

  (2)顯示IP位址清單資訊如下:

################################# IP #################################
  nu     ip                 /netmask                        ppp point_to_point_with
  1      127.0.0.1          /255.0.0.0                          0
  1      ::1/128                                                0
  2      192.168.59.131     /255.255.255.0                      0
  2      fd15:4ba5:5a2b:1008:20c:29ff:feca:e466/64      0
  2      fe80::20c:29ff:feca:e466/64                        0
  2      fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a/64        0           
  • nu:與此位址關聯的裝置編号。
  • ip:IP位址。
  • netmask:子網路遮罩。
  • ppp:點對點的位址。
  • point_to_point_with:遠端端點的位址。

  (3)IP4 ARP緩存或IP6 鄰居資訊如下:

######################### ArpCache/Neighbor ########################## 
  nu     ethernet                  ip
  2      00:0C:29:C4:8A:DE         192.168.59.132
  2      00:0C:29:CA:E4:66         192.168.59.131
  2      00:0C:29:CA:E4:66 fd15:4ba5:5a2b:1008:20c:29ff:feca:e466
  2      00:0C:29:CA:E4:66 fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a
  2      00:0C:29:CA:E4:66 fe80::20c:29ff:feca:e466
  2      00:50:56:EA:F3:A1         192.168.59.2
  2      00:50:56:EA:F3:A1 fe80::250:56ff:fec0:2222
  2      00:50:56:F0:69:32         192.168.59.254           
  • nu:與此條目關聯的裝置編号。
  • ethernet:計算機的以太網位址。
  • ip:計算機的IP位址。

  (4)顯示路由資訊如下:

############################## Routes ################################ 
  nu     destination        /netmask         source          gateway           metric
  1      127.0.0.1          /255.255.255.255     local             0
  2      192.168.59.131     /255.255.255.255     local             0
  2      192.168.59.0       /255.255.255.0     192.168.59.131     100
  1      127.0.0.0          /255.0.0.0           127.0.0.1        0
  2      0.0.0.0             /0.0.0.0                 192.168.59.131     192.168.59.2   100
  1      ::1/128                                 local             0
  2      fd15:4ba5:5a2b:1008:20c:29ff:feca:e466/128 local    0
  2      fe80::20c:29ff:feca:e466/128            local         0
  2      fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a/128 local   0
  2      fd15:4ba5:5a2b:1008::/64   fd15:4ba5:5a2b:1008:20c:29ff:feca:e466  0
  2      fe80::/64             fe80::20c:29ff:feca:e466         0
  2      fd15:4ba5:5a2b:1008::/64  fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a  0
  2      fd15:4ba5:5a2b:1008::/64  fd15:4ba5:5a2b:1008:20c:29ff:feca:e466 
  fe80::250:56ff:fec0:2222 100
  2      ::/0           fe80::20c:29ff:feca:e466 fe80::250:56ff:fec0:2222 100           
  • destination:目标位址。
  • netmask:掩碼。
  • source:源IP位址或本地路由。
  • gateway:網關。
  • metric:路線度量。

2.5.2 顯示網絡調試資訊

  如果想了解更多的網絡資訊,netwox工具還提供了編号為2的子產品,用于顯示網絡調試資訊。

  【執行個體2-8】顯示網絡調試資訊,執行指令如下:

root@daxueba:~# netwox 2           

  執行指令後可以看到,不僅顯示了網絡配置資訊,還顯示了調試資訊:

Netwox toolbox version 5.39.0.                        #版本資訊
  Netwib library version 5.39.0.
  
  ####****####****####****####****####
  NETWIBDEF_SYSNAME="Linux"
  NETWIBDEF_SYSARCH="amd64"
  NETWIBDEF_ARCH_ENDIAN=0
  NETWIBDEF_ARCH_BITS=64
  NETWIBDEF_ARCH_ALIGN=1
                                                          #省略其他資訊
  NETWIBDEF_HAVEVAR_SC_GETPW_R_SIZE_MAX=1
  NETWIBDEF_HAVEVAR_SC_GETGR_R_SIZE_MAX=1
  Error 0 : ok                                            #0個錯誤
  
  ####****####****####****####****####
  ############################## Devices ################################
  nu     dev       ethernet_hwtype       mtu       real_device_name
  1      Lo0       loopback              65536     lo
  2      Eth0      00:0C:29:CA:E4:66     1500      eth0
  ################################# IP ##################################
  nu     ip                 /netmask                        ppp point_to_point_with
  1      127.0.0.1          /255.0.0.0                          0
  1      ::1/128                                                0
  2      192.168.59.131     /255.255.255.0                      0
  2      fd15:4ba5:5a2b:1008:20c:29ff:feca:e466/64      0
  2      fe80::20c:29ff:feca:e466/64                        0
  2      fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a/64        0
  ########################## ArpCache/Neighbor ##########################
  nu     ethernet                  ip
  2      00:0C:29:C4:8A:DE         192.168.59.132
  2      00:0C:29:CA:E4:66         192.168.59.131
  2      00:0C:29:CA:E4:66 fd15:4ba5:5a2b:1008:20c:29ff:feca:e466
  2      00:0C:29:CA:E4:66 fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a
  2      00:0C:29:CA:E4:66 fe80::20c:29ff:feca:e466
  2      00:50:56:EA:F3:A1         192.168.59.2
  2      00:50:56:EA:F3:A1 fe80::250:56ff:fec0:2222
  2      00:50:56:F0:69:32         192.168.59.254
  ############################## Routes #################################
  nu     destination        /netmask         source        gateway        metric
  1      127.0.0.1          /255.255.255.255     local                          0
  2      192.168.59.131    /255.255.255.255     local                             0
  2      192.168.59.0       /255.255.255.0       192.168.59.131                 100
  1      127.0.0.0          /255.0.0.0           127.0.0.1                     0
  2      0.0.0.0            /0.0.0.0                 192.168.59.131   192.168.59.2  100
  1      ::1/128                                 local                           0
  2      fd15:4ba5:5a2b:1008:20c:29ff:feca:e466/128 local                    0
  2      fe80::20c:29ff:feca:e466/128            local                       0
  2      fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a/128 local               0
  2      fd15:4ba5:5a2b:1008::/64  fd15:4ba5:5a2b:1008:20c:29ff:feca:e466   0
  2      fe80::/64      fe80::20c:29ff:feca:e466                               0
  2      fd15:4ba5:5a2b:1008::/64  fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a  0
  2      fd15:4ba5:5a2b:1008::/64  fd15:4ba5:5a2b:1008:20c:29ff:feca:e466 
  fe80::250:56ff:fec0:2222 100
  2      ::/0            fe80::20c:29ff:feca:e466 fe80::250:56ff:fec0:2222 100
  Error 0 : ok
   hint: errno = 19 = No such device
   hint: this is not an IPv4 address: fe80::250:56ff:fec0:2222
  
  ####****####****####****####****####
  
  :::: After devices_ioctl ::::                    # devices_ioctl資訊
   
$$
$ devices 
$$
$
    d=0,lo, m=65536 t=loopback
    d=0,eth0, m=1500 t=ethernet>00:0C:29:CA:E4:66
    d=0,lo, m=65536 t=loopback
    d=0,eth0, m=1500 t=ethernet>00:0C:29:CA:E4:66
  
   
$$
$ ip 
$$
$
    d=0,lo i=127.0.0.1/255.0.0.0 p=false
    d=0,eth0 i=192.168.59.131/255.255.255.0 p=false
  
   
$$
$ arpcache 
$$
$
  
   
$$
$ routes 
$$
$
  
  :::: After procnetifinet6 ::::                    # procnetifinet6資訊
   
$$
$ devices 
$$
$
    d=0,lo, m=65536 t=loopback
    d=0,eth0, m=1500 t=ethernet>00:0C:29:CA:E4:66
    d=0,lo, m=65536 t=loopback
    d=0,eth0, m=1500 t=ethernet>00:0C:29:CA:E4:66
  
   
$$
$ ip 
$$
$
    d=0,lo i=127.0.0.1/255.0.0.0 p=false
    d=0,eth0 i=192.168.59.131/255.255.255.0 p=false
    d=0,lo i=::1/128 p=false
    d=0,eth0 i=fd15:4ba5:5a2b:1008:20c:29ff:feca:e466/64 p=false
    d=0,eth0 i=fe80::20c:29ff:feca:e466/64 p=false
    d=0,eth0 i=fd15:4ba5:5a2b:1008:4c3c:fda9:c3dc:499a/64 p=false
  …                                                #省略其他資訊
  
$$
$ routes 
$$
$
    d=1,lo i=127.0.0.1/255.255.255.255 s=false g=false m=0
    d=2,eth0 i=192.168.59.131/255.255.255.255 s=false g=false m=0
    d=2,eth0 i=192.168.59.0/255.255.255.0 s=true,192.168.59.131 g=false m=100
    d=1,lo i=127.0.0.0/255.0.0.0 s=true,127.0.0.1 g=false m=0
    d=2,eth0 i=::/0 s=true,fe80::20c:29ff:feca:e466 g=true,fe80::250:56ff:
   fec0:2222 m=100
  Error 0 : ok
   hint: errno = 19 = No such device
   hint: this is not an IPv4 address: fe80::250:56ff:fec0:2222
  
  ####****####****####****####****####
  END