測試開發之網路篇-常用命令

陳琦聊測試發表於2021-07-09

ipconfig

Windows系統下,ipconfig加上/all引數,可檢視本機的IP地址、掩碼、預設閘道器、DHCP和DNS伺服器等資訊。Linux或Mac系統下,請使用ifconfig命令代替。

C:\Users\admin>ipconfig /all
Windows IP Configuration
Ethernet adapter Ethernet0:
   Connection-specific DNS Suffix  . : DHCP
   Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
   Physical Address. . . . . . . . . : 00-0C-29-A8-3E-AA
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::547b:2b11:b2bd:3cfb%15(Preferred)
   IPv4 Address. . . . . . . . . . . : 172.16.13.3(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : 2021年5月24日 14:26:49
   Lease Expires . . . . . . . . . . : 2021年5月25日 14:12:25
   Default Gateway . . . . . . . . . : 172.16.13.1
   DHCP Server . . . . . . . . . . . : 172.16.13.1
   DHCPv6 IAID . . . . . . . . . . . : 117443625
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-1B-98-1F-00-0C-29-A8-3E-AA
   DNS Servers . . . . . . . . . . . : 172.16.13.1
   NetBIOS over Tcpip. . . . . . . . : Enabled
   Connection-specific DNS Suffix Search List :
                                       DHCP
                                       HOST


ping

可以用來檢測到達另一個主機的連通性,並獲取以下資訊。注意,有些機器可能會禁用ping所用的ICMP協議,導致沒有響應。

  1. 判斷網路連線是否通暢;
  2. 獲取某個域名的IP地址;
  3. 根據time值獲取網路的響應速度;
  4. 根據ttl值判斷資料包經過的路由器數量。
macbook:~ aaron$ ping baidu.com
PING baidu.com (220.181.38.148): 56 data bytes
64 bytes from 220.181.38.148: icmp_seq=0 ttl=52 time=32.157 ms
64 bytes from 220.181.38.148: icmp_seq=1 ttl=52 time=34.663 ms
64 bytes from 220.181.38.148: icmp_seq=2 ttl=52 time=32.626 ms
--- baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 32.157/32.971/34.663/0.991 ms

以上透過ping百度的域名,得到其IP地址為220.181.38.148;響應時間小於50毫秒,說明網速正常。


前面的文章中我們講到,在不同的網段間轉發資料是由路由器完成的。這裡的TTL是 Time To Live的縮寫,表示IP包被路由器丟棄之前,允許透過的最大網段數量。不同的作業系統初始值可能不一樣,但均為2的N次方。


這裡,我們使用離返回值52最近的64、也就是2^6作為初始值,那麼,途中則經過的路由器數量可以用64-52=12來計算得到。


telnet

使用telnet命令可以檢視遠端主機的某個埠是否有服務在執行,Windows系統預設沒有此命令,可在控制皮膚中安裝。如沒有響應,請確認遠端伺服器的埠未被防火牆禁用。

macbook:~ aaron$ telnet 39.156.69.79 80
Trying 39.156.69.79...
Connected to 39.156.69.79.
Escape character is '^]'



tracert

用來檢測到達目標主機所經過的路由器數量,它使用ICMP協議來工作,可以幫我們定位網路中哪一個節點發生了問題。
首先,它會傳送一份TTL(存活時間)為1的資料包給目標主機,處理這個資料包的第一個路由器將TTL值減1,然後丟棄這個已經為0的資料包,並返回一個包含路由器IP地址的ICMP報文。後續,依次增加TTL的值,發出的響應將會到達更多的路由器,直至失敗或結束。
Linux下請使用traceroute命令替代。

macbook:~ aaron$ traceroute -q 1 114.114.114.114
traceroute to 114.114.114.114 (114.114.114.114), 64 hops max, 52 byte packets
 1  192.168.0.1 (192.168.0.1)  2.908 ms
 2  192.168.1.1 (192.168.1.1)  3.831 ms
 3  58.208.178.1 (58.208.178.1)  5.278 ms
 4  218.4.30.205 (218.4.30.205)  7.611 ms
 5  221.224.235.61 (221.224.235.61)  7.858 ms
 6  10.255.61.9 (10.255.61.9)  8.547 ms
 7  61.155.228.158 (61.155.228.158)  13.068 ms
 8  *
 9  *

這裡-q表示每次傳送一個包;星號表示的行,可能是因為防火牆封掉了ICMP的響應。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978795/viewspace-2780476/,如需轉載,請註明出處,否則將追究法律責任。

相關文章