測試開發之網絡篇-常用命令
本篇目錄
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協議,導致沒有響應。
- 判斷網絡連接是否通暢;
- 獲取某個域名的IP地址;
- 根據time值獲取網絡的響應速度;
- 根據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的響應。

