测试基础 测试开发之网络篇 - 常用命令

陈哥聊测试 · 2021年07月09日 · 1564 次阅读

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、也就是 26 作为初始值,那么,途中则经过的路由器数量可以用 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 ']'

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 的响应。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册