TCP/IP協議配置與網絡實用命令


一、 實驗環境
在Windows10主機上用wireshark抓取WLAN網絡上的數據包
二、 實驗結果與分析
a) TCP/IP協議的安裝與配置
控制面板>>網絡和Internet>>網絡和共享中心>>連接>>屬性>>點擊TCP/IP進行安裝

本機通過DCPH協議隨機獲取IP地址,然后也自動獲得DNS服務器地址。
DHCP有三種機制分配IP地址: [2]

  1. 自動分配方式(Automatic Allocation),DHCP服務器為主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務器端租用到IP地址后,就可以永久性的使用該地址。 [2]
  2. 動態分配方式(Dynamic Allocation),DHCP服務器給主機指定一個具有時間限制的IP地址,時間到期或主機明確表示放棄該地址時,該地址可以被其他主機使用。 [2]
  3. 手工分配方式(Manual Allocation),客戶端的IP地址是由網絡管理員指定的,DHCP服務器只是將指定的IP地址告訴客戶端主機。
    DNS(Domain Name Server,域名服務器)是進行域名和與之相對應的IP地址轉換的服務器。DNS中保存了一張域名和與之相對應的IP地址的表,以解析消息的域名。

b) 常用網絡命令的使用
i. ipconfig
輸入ipconfig

本機的IP地址查看“無線局域網適配器WLAN”部分,IP地址為172.26.212.53,其他的都是虛擬網卡的信息,當不使用網線上網時,本地連接和以太網部分會顯示“媒體已斷開連接”。
輸入ipconfig /all(僅截取無線局域網適配器部分)

由於本機處於校園網內,所以DNS后綴為jnu.edu.cn,根據網上的資料:用戶電腦名稱上的DNS是用戶加入有DNS服務器上的域后電腦自動加上去的,DNS后綴就是現在連接的這個網絡的DNS,Intel(R) Dual Band Wireless-AC 7265是本機的無線網卡。

物理地址即MAC地址,DHCP服務器啟用並采用自動配置模式。

ii. ping

  1. ping 180.97.125.228
    查看ip

直接向180.97.125.228發送icmp數據包。

  1. ping www.oschina.net

fn0wz54v.dayugslb.com是DNS解析的A記錄,指向主機ip180.97.125.228(Linux主機dig命令查詢)

輸入nslookup www.oschina.net

由返回結果可知,ping 域名時,是從校園網的DNS服務器的緩存中獲取關於www.oschina.net的域名解析回答的。
在Linux系統主機上使用dig命令跟蹤整個解析過程:

可以看到www.oschina.net是 fn0wz54v.dayugslb.com的CNAME記錄(別名記錄)。

利用wireshark抓包ping過程:
1.向校園網的DNS服務器請求解析,查詢www.oschina.net 的 A記錄,及主機ip。

DNS服務器192.168.10.8的應答,返回域名fn0wz54v.dayugslb.com及其指向的IP地址(過濾器條件ip.src == 172.26.212.53 || ip.src eq 192.168.10.8):

本機對向fn0wz54v.dayugslb.com發送icmp數據包:

完整過程(過濾條件ip.src == 172.26.212.53 || ip.src eq 192.168.10.8 || ip.src == 180.97.125.228):

總結:

  • fn0wz54v.dayugslb.com是通過DNS的A記錄解析到IP上,而www.oschina.net是DNS解析的CNAME記錄,將被解析到fn0wz54v.dayugslb.com上。
  • A記錄是把一個域名解析到一個IP地址,而CNAME記錄是把域名解析到另外一個域名,而這個域名最終會指向一個A記錄,在功能實現在上A記錄與CNAME記錄沒有區別。
  • CNAME記錄在做IP地址變更時要比A記錄方便。CNAME記錄允許將多個名字映射到同一台計算機,當有多個域名需要指向同一服務器IP,此時可以將一個域名做A記錄指向服務器IP,然后將其他的域名做別名(即:CNAME)到A記錄的域名上。當服務器IP地址變更時,只需要更改A記錄的那個域名到新IP上,其它做別名的域名會自動更改到新的IP地址上,而不必對每個域名做更改。
  • 所以ping域名會比ping ip多一些DNS解析的過程。
  • ICMP協議與ping:ICMP 全稱是 Internet Control Message Protocol,也就是互聯網控制報文協議。ICMP 報文是封裝在 IP 包里面,它工作在網絡層,是 IP 協議的助手。
    • ICMP 包頭的類型字段,大致可以分為兩大類:
      • 一類是用於診斷的查詢消息,也就是「查詢報文類型」
      • 另一類是通知出錯原因的錯誤消息,也就是「差錯報文類型」

類型0和8:回送消息
回送消息用於進行通信的主機或路由器之間,判斷所發送的數據包是否已經成功到達對端的一種消息,ping 命令就是利用這個消息實現的。
可以向對端主機發送回送請求的消息(ICMP Echo Request Message,類型 8),也可以接收對端主機發回來的回送應答消息(ICMP Echo Reply Message,類型 0)。

wireshark抓包分析
發送的第一個icmp包,類型為8即回送請求包,序號為49

返回應答包:類型為0,即回送應答,序號與所要應答的icmp包的一樣。

第二個icmp包,類型一樣是8,序號+1

應答包類型為0,序號同樣+1:

iii. tracert
tracert -d 125.218.215.224

Tracert -d www.jnu.edu.cn

從左到右的5條信息分別代表了“生存時間”(每途經一個路由器結點自增1)、“三次發送的ICMP包返回時間”(共計3個,單位為毫秒ms)和“途經路由器的IP地址”(如果有主機名,還會包含主機名,加上d參數時不返回主機名)

Tracert的工作原理:
1.從源地址發出一個ICMP請求回顯(ICMP Echo Request)數據包到目的地址,並將TTL設置為1;
2.到達路由器時,將TTL減1;
3.當TTL變為0時,包被丟棄,路由器向源地址發回一個ICMP超時通知(ICMP Time Exceeded Message),內含發送IP包的源地址,IP包的所有內容及路由器的IP地址:172.26.208.1;
4.當源地址收到該ICMP包時,顯示這一跳路由信息;
5.重復1~5,並每次設置TTL加1;
6.直至目標地址收到探測數據包,並返回ICMP回應答復(ICMPEcho Reply);
7.當源地址收到ICMP Echo Reply包時停止tracert。
可以看到每次都默認發送3個icmp包,對應命令行顯示結果的三個返回時間,ttl從1開始遞增,對應命令行返回的5次跳躍。
iv. netstat

  1. 查看網絡協議的統計結果 netstat -s

  2. 查看連接和偵聽端口 netstat -n

可以看到本機的多個端口處於監聽狀態,如49674、49679等;另外本機與ip 52.139.250.253建立了連接,對該ip進行查詢得到如下結果,

LISTENING:偵聽來自遠方的TCP端口的連接請求.
ESTABLISHED:代表一個打開的連接。
CLOSE-WAIT:等待從本地用戶發來的連接中斷請求
3. 查看TCP 協議的連接netstat -p tcp

  1. route
    返回結果:
  • 第一塊是設備上的接口列表,各種適配器的名稱,包括虛擬接口
  • 第二塊是Ipv4路由表
    • 第一列是網絡目的地址。列出了路由器連接的所有的網段。
    • 第二行網絡掩碼列提供這個網段本身的子網掩碼,而不是連接到這個網段的網卡的子網掩碼。這基本上能夠讓路由器確定目的網絡的地址類。
    • 第三列是網關。一旦路由器確定它要把這個數據包轉發到哪一個目的網絡,路由器就要查看網關列表。網關表告訴路由器這個數據包應該轉發到哪一個IP地址才能達到目的網絡。
    • 第四列接口列告訴路由器哪一個網卡連接到了合適的目的網絡。從技術上說,接口列僅告訴路由器分配給網卡的IP地址。那個網卡把路由器連接到目的網絡。然而,路由器很聰明,知道這個地址綁定到哪一個物理網卡。
    • 第五列是躍點數。測量本身是一種科學。該值越小的,可信度越高
    • 路由表顯示“在鏈路上”,表示不需要通過路由器轉發,可以直接與其通信的意思。

三、 思考題
a) TCP/IP協議中配置的“網關”的作用是什么?
網關的作用是連通兩個不同網絡(子網掩碼和主機ip相與的結果不同,則處於不同網絡,或者說處於不同網段,相與的結果稱為網絡標識,是一個網絡的標識),現代網關多數指的是路由器IP。
b) 用ping檢測網絡故障點。
a. 網絡不可達代碼為 0
IP 地址是分為網絡號和主機號的,所以當路由器中的路由器表匹配不到接收方 IP 的網絡號,就通過 ICMP 協議以網絡不可達(Network Unreachable)的原因告知主機。
自從不再有網絡分類以后,網絡不可達也漸漸不再使用了。

b. 主機不可達代碼為 1
當路由表中沒有該主機的信息,或者該主機沒有連接到網絡,那么會通過 ICMP 協議以主機不可達(Host Unreachable)的原因告知主機。

c. 協議不可達代碼為 2
當主機使用 TCP 協議訪問對端主機時,能找到對端的主機了,可是對端主機的防火牆已經禁止 TCP 協議訪問,那么會通過 ICMP 協議以協議不可達的原因告知主機。

d. 端口不可達代碼為 3
當主機訪問對端主機 8080 端口時,這次能找到對端主機了,防火牆也沒有限制,可是發現對端主機沒有進程監聽 8080 端口,那么會通過 ICMP 協議以端口不可達(Port Unreachable)的原因告知主機。

e. 需要進行分片但設置了不分片位(Fragmentation needed but no frag)代碼為 4
發送端主機發送 IP 數據報時,將 IP 首部的分片禁止標志位設置為1。根據這個標志位,途中的路由器遇到超過 MTU 大小的數據包時,不會進行分片,而是直接拋棄。
c) 用ping測試網絡連通性時,若返回以下結果:Destination host unreachable(目的主機不可達)。當路由表中沒有該主機的信息,或者主機沒有連接到網絡,那么會通過icmp協議以主機不可達的原因告訴主機。
d) “Time out”:往往是因為防火牆對icmp過濾了,比如ping facebook.com;再者就是目標主機不在線,或者路由器端口不允許ping.

感謝閱讀!


免責聲明!

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



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