文章目录
- `ping` 命令
- 常用选项:
- 使用示例:
- 域名解析和 IP 地址
- 响应数据
- 停止 ping 命令
- 统计数据
- 延迟统计
- `traceroute` 命令
- 常用选项:
- 使用示例:
- 命令执行:
- 路由节点详情:
- `mtr` 命令
- 使用示例:
- 使用结果详解
- 输出解释:
- 表头:
- 路由节点解析:
- `ifconfig` 和 `ip` 命令
- `ifconfig` 使用示例:
- `ip` 使用示例:
- `netstat` 和 `ss` 命令
- `netstat` 使用示例:
- `ss` 使用示例:
- `dig` 和 `nslookup` 命令
- `dig` 使用示例:
- 命令使用详解:
- 输出解析:
- `nslookup` 使用示例:
- `curl` 和 `wget` 命令
- `curl` 使用示例:
- `wget` 使用示例:
- `nc`(netcat)命令
- 测试端口是否开放:
- 输出解析:
- `tcpdump` 命令
- 使用示例:
- 常用选项:
- `iperf` 命令
- 启动服务端:
- 启动客户端并测试到服务端的带宽:
- 结论
在 Linux 环境下,网络测试和故障排查是系统管理员和运维人员日常工作中的重要部分。Linux 提供了多种强大的网络测试工具,这些工具可以帮助你检查网络连通性、监控网络性能、分析网络问题等。下面将介绍一些常用的 Linux 网络测试命令,并通过示例演示它们的用法。
ping
命令
ping
是用于测试网络连通性和延迟的最基础工具。它会向目标主机发送 ICMP 回显请求,并显示返回的时间和丢包情况。
常用选项:
-c
:指定发送的 ping 包数量
ping -c 5 www.baidu.com
该命令只会发送 5 个数据包,然后结束。
-i
:指定发送数据包的间隔时间(秒)
ping -i 2 www.baidu.com
此命令每 2 秒发送一个数据包。
-s
:指定发送数据包的大小(字节)
ping -s 1024 www.baidu.com
发送大小为 1024 字节的 ICMP 包。
使用示例:
ping www.baidu.com
该命令会向 www.baidu.com
发送连续的 ICMP 请求,显示网络延迟(往返时间 RTT)和丢包率。
[root@wh ~]# ping www.baidu.com
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=251 time=16.3 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=251 time=16.4 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=251 time=16.4 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 16.324/16.387/16.425/0.154 ms
[root@wh ~]#
域名解析和 IP 地址
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
- 域名解析:
www.baidu.com
实际解析为www.a.shifen.com
,这意味着www.baidu.com
的请求被重定向到www.a.shifen.com
。 - IP 地址:解析后的 IP 地址为
110.242.68.4
。 - 数据包大小:每次发送的数据包大小为 56 字节(不包括 IP 和 ICMP 头,总共 84 字节)。
响应数据
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=251 time=16.3 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=251 time=16.4 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=251 time=16.4 ms
每一行代表一个 ping
请求的响应:
- 64 bytes from 110.242.68.4:表示从 IP 地址
110.242.68.4
收到了 64 字节的响应数据。 - icmp_seq=1:这是第一个 ICMP 请求的序列号,后续的响应是
icmp_seq=2
和icmp_seq=3
。 - ttl=251:TTL(Time to Live)表示数据包在网络中的生存时间。TTL 的初始值通常是 255,每经过一个路由器会减一,这里表示数据包在经过 4 个路由器后到达了目标。
- time=16.3 ms:表示从发送 ICMP 请求到接收到响应的往返时间是 16.3 毫秒,通常被称为延迟。
停止 ping 命令
^C
这是你手动按下 Ctrl + C
停止 ping
命令的标志。ping
默认会连续发送数据包,直到用户手动停止。
统计数据
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
- 3 packets transmitted:发送了 3 个 ICMP 请求包。
- 3 received:接收到了 3 个响应包。
- 0% packet loss:没有数据包丢失,网络连通性良好。
- time 2001ms:整个过程耗时 2001 毫秒(约 2 秒)。
延迟统计
rtt min/avg/max/mdev = 16.324/16.387/16.425/0.154 ms
这是响应时间的统计数据(RTT:Round Trip Time,往返时间):
- min:最小延迟为 16.324 毫秒。
- avg:平均延迟为 16.387 毫秒。
- max:最大延迟为 16.425 毫秒。
- mdev:延迟的标准偏差为 0.154 毫秒,表示延迟的波动范围非常小,网络连接比较稳定。
traceroute
命令
traceroute
用于跟踪数据包从本地到目标主机之间经过的路由节点(跳数)。它显示每个路由节点的 IP 地址和往返时间。
常用选项:
-n
:仅显示 IP 地址,不进行域名解析
traceroute -n www.baidu.com
此命令可以加快显示速度,尤其是域名解析较慢时。
使用示例:
traceroute www.baidu.com
此命令会显示从你的计算机到 www.baidu.com
服务器的所有路由节点信息,并计算每一跳的延迟。
命令执行:
[root@wh ~]# traceroute www.baidu.com
traceroute to www.baidu.com (110.242.68.4), 30 hops max, 60 byte packets
1 11.66.201.225 (11.66.201.225) 0.850 ms 0.968 ms *
2 * 11.66.248.94 (11.66.248.94) 0.645 ms *
3 * * *
4 10.200.46.89 (10.200.46.89) 1.462 ms 10.196.89.105 (10.196.89.105) 1.571 ms 10.200.46.101 (10.200.46.101) 2.525 ms
5 * * *
6 * * *
7 * * *
8 10.200.163.97 (10.200.163.97) 14.761 ms 14.241 ms 11.767 ms
9 hebei.55.61.in-addr.arpa (61.55.133.133) 15.176 ms hebei.55.61.in-addr.arpa (61.55.133.129) 13.482 ms *
10 202.99.167.13 (202.99.167.13) 14.813 ms hebei.182.61.in-addr.arpa (61.182.172.41) 22.657 ms 202.99.167.45 (202.99.167.45) 16.082 ms
11 hebei.182.61.in-addr.arpa (61.182.145.22) 20.329 ms hebei.182.61.in-addr.arpa (61.182.184.97) 14.735 ms hebei.182.61.in-addr.arpa (61.182.174.9) 13.276 ms
12 hebei.182.61.in-addr.arpa (61.182.184.101) 15.217 ms 110.242.66.182 (110.242.66.182) 16.692 ms 18.588 ms
13 221.194.45.130 (221.194.45.130) 16.992 ms 17.003 ms 110.242.66.162 (110.242.66.162) 16.397 ms
14 * 221.194.45.134 (221.194.45.134) 35.439 ms *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
[root@wh ~]#
[root@wh ~]# traceroute www.baidu.com
traceroute to www.baidu.com (110.242.68.4), 30 hops max, 60 byte packets
- 目的主机:你追踪的是到
www.baidu.com
(解析为 IP 地址110.242.68.4
)的路由。 - 最大跳数:
traceroute
的最大跳数限制为 30 次,也就是说,最多经过 30 个路由器节点。 - 数据包大小:发送的每个数据包大小为 60 字节。
路由节点详情:
每一行代表从本地主机到目标主机的一个路由节点。traceroute
工具显示的是从本地主机到每个路由节点的延迟。通常显示三次延迟时间,因为它会发送三次请求。如果某些节点没有响应,则会显示 *
。
** 第 1 跳:**
1 11.66.201.225 (11.66.201.225) 0.850 ms 0.968 ms *
- 第一个路由器 IP:
11.66.201.225
是第一个路由节点的 IP 地址,可能是你本地网络的网关或第一个外部路由器。 - 延迟时间:分别为 0.850 ms 和 0.968 ms,说明网络非常快。第三次请求没有响应(
*
),这可能是因为某个数据包丢失。
** 第 2 跳:**
2 * 11.66.248.94 (11.66.248.94) 0.645 ms *
- 第二个路由器 IP:
11.66.248.94
,同样可能是你本地网络或运营商的某个节点。 - 延迟时间:0.645 ms,响应速度较快。第一个和第三个请求没有响应。
** 第 3 跳:**
3 * * *
- 没有响应:这一跳没有任何响应,意味着路由器可能配置了 ICMP 请求的防火墙规则,不允许
traceroute
检测。
** 第 4 跳:**
4 10.200.46.89 (10.200.46.89) 1.462 ms 10.196.89.105 (10.196.89.105) 1.571 ms 10.200.46.101 (10.200.46.101) 2.525 ms
- 多个路由器 IP:这次显示了多个路由器的 IP,表示可能有负载均衡或不同路径。所有这些 IP 都属于私有 IP 地址(以
10.
开头),表示它们是局域网内部的路由器。 - 延迟时间:延迟分别为 1.462 ms、1.571 ms 和 2.525 ms,速度仍然较快。
** 第 5 到第 7 跳:**
5 * * *
6 * * *
7 * * *
- 没有响应:这几跳的路由器同样没有回应
traceroute
请求。
** 第 8 跳:**
8 10.200.163.97 (10.200.163.97) 14.761 ms 14.241 ms 11.767 ms
- 私有 IP 地址:这个路由节点也是一个私有 IP 地址。
- 延迟时间:延迟时间大约在 11 ms 到 14 ms 之间,表明现在路由节点可能已经离开了局域网,进入了较大的网络。
** 第 9 到第 12 跳:**
9 hebei.55.61.in-addr.arpa (61.55.133.133) 15.176 ms hebei.55.61.in-addr.arpa (61.55.133.129) 13.482 ms *
10 202.99.167.13 (202.99.167.13) 14.813 ms hebei.182.61.in-addr.arpa (61.182.172.41) 22.657 ms 202.99.167.45 (202.99.167.45) 16.082 ms
11 hebei.182.61.in-addr.arpa (61.182.145.22) 20.329 ms hebei.182.61.in-addr.arpa (61.182.184.97) 14.735 ms hebei.182.61.in-addr.arpa (61.182.174.9) 13.276 ms
12 hebei.182.61.in-addr.arpa (61.182.184.101) 15.217 ms 110.242.66.182 (110.242.66.182) 16.692 ms 18.588 ms
- hebei.in-addr.arpa:这些路由节点的域名都带有 “hebei”,表示数据包已经经过河北省的某个运营商或网络服务提供商。
- 公共 IP 地址:这些路由节点属于公共 IP 地址范围,延迟在 13 ms 到 22 ms 之间,表明数据包已经跨越了多个网络节点。
** 第 13 跳:**
13 221.194.45.130 (221.194.45.130) 16.992 ms 17.003 ms 110.242.66.162 (110.242.66.162) 16.397 ms
- 目标接近:这是到达百度网络的节点,延迟时间稳定在 16 ms 左右,表明数据包已经非常接近目标。
** 第 14 到第 30 跳:**
14 * 221.194.45.134 (221.194.45.134) 35.439 ms *
15 * * *
...
30 * * *
- 没有响应:从第 14 跳开始,数据包停止接收到响应。这种情况可能是由于某些防火墙策略或路由器的 ICMP 请求限制。
mtr
命令
mtr
是 ping
和 traceroute
的结合体,既可以检测延迟,也能追踪路径。与 traceroute
不同的是,mtr
是动态显示的,可以不断更新延迟信息。
使用示例:
mtr www.baidu.com
此命令会实时显示从本地到目标主机之间的路由,并持续更新每一跳的丢包和延迟情况。
常用选项:
-r
:报告模式,适合用于一次性测试
mtr -r www.baidu.com
此命令会生成一次性的测试报告并退出。
使用结果详解
[root@wh ~]# mtr -r www.baidu.com
Start: Sat Sep 7 22:05:01 2024
HOST: wh Loss% Snt Last Avg Best Wrst StDev
1.|-- 11.66.201.225 60.0% 10 0.8 0.9 0.8 1.0 0.0
2.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
3.|-- 10.200.235.145 80.0% 10 1.1 1.1 1.1 1.2 0.0
4.|-- 10.196.89.113 0.0% 10 1.7 1.7 1.6 1.9 0.0
5.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
6.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
7.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
8.|-- 10.200.163.97 0.0% 10 12.0 11.9 11.8 12.0 0.0
9.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
10.|-- 202.99.167.13 10.0% 10 17.5 18.9 14.1 25.4 3.7
11.|-- hebei.182.61.in-addr.arpa 0.0% 4 26.4 27.0 17.6 39.1 8.9
12.|-- hebei.182.61.in-addr.arpa 0.0% 4 12.7 12.7 12.6 12.9 0.0
13.|-- 110.242.66.162 0.0% 4 20.7 17.2 16.1 20.7 2.3
14.|-- 221.194.45.134 0.0% 4 16.3 16.4 16.3 16.4 0.0
15.|-- ??? 100.0 4 0.0 0.0 0.0 0.0 0.0
[root@wh ~]#
输出解释:
表头:
HOST: wh Loss% Snt Last Avg Best Wrst StDev
- HOST:显示的主机名或 IP 地址。
- Loss%:数据包的丢失百分比。
- Snt:发送的数据包数量。
- Last:最近一次发送的延迟时间(毫秒)。
- Avg:平均延迟时间(毫秒)。
- Best:最小延迟时间。
- Wrst:最大延迟时间。
- StDev:延迟的标准偏差。
路由节点解析:
-
第 1 跳:
1.|-- 11.66.201.225 60.0% 10 0.8 0.9 0.8 1.0 0.0
- IP 地址:
11.66.201.225
。 - 丢包率:60.0%,表示发出的 10 个包中有 6 个丢失。
- 延迟:最近的延迟为 0.8 ms,平均 0.9 ms,最小 0.8 ms,最大 1.0 ms。
- 稳定性:标准偏差为 0.0 ms,表明延迟几乎没有波动。
- IP 地址:
-
第 2 跳:
2.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
- 无法解析:路由器没有响应,导致无 IP 地址和延迟时间。这通常是因为目标路由器禁用了 ICMP 响应。
-
第 3 跳:
3.|-- 10.200.235.145 80.0% 10 1.1 1.1 1.1 1.2 0.0
- IP 地址:
10.200.235.145
。 - 丢包率:80.0%,表示 10 个包中有 8 个丢失。
- 延迟:平均延迟 1.1 ms,波动很小。
- IP 地址:
-
第 4 跳:
4.|-- 10.196.89.113 0.0% 10 1.7 1.7 1.6 1.9 0.0
- IP 地址:
10.196.89.113
。 - 丢包率:0.0%,表示没有数据包丢失,延迟在 1.7 ms 左右。
- IP 地址:
-
第 5 到第 7 跳:
5.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0 6.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0 7.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
- 这些跳数同样没有任何回应,可能是路由器禁用了 ICMP 数据包的响应。
-
第 8 跳:
8.|-- 10.200.163.97 0.0% 10 12.0 11.9 11.8 12.0 0.0
- IP 地址:
10.200.163.97
。 - 丢包率:0%,数据包没有丢失,延迟时间稳定在 12 ms 左右。
- IP 地址:
-
第 9 到第 14 跳:
9.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0 10.|-- 202.99.167.13 10.0% 10 17.5 18.9 14.1 25.4 3.7 11.|-- hebei.182.61.in-addr.arpa 0.0% 4 26.4 27.0 17.6 39.1 8.9 12.|-- hebei.182.61.in-addr.arpa 0.0% 4 12.7 12.7 12.6 12.9 0.0 13.|-- 110.242.66.162 0.0% 4 20.7 17.2 16.1 20.7 2.3 14.|-- 221.194.45.134 0.0% 4 16.3 16.4 16.3 16.4 0.0
- 202.99.167.13:第 10 跳有 10% 的丢包率,平均延迟为 18.9 ms。
- hebei.182.61.in-addr.arpa:第 11 和第 12 跳分别延迟 27 ms 和 12 ms,延迟稳定。
- 110.242.66.162:第 13 跳的延迟约为 17 ms,延迟小幅波动。
- 221.194.45.134:第 14 跳延迟为 16 ms。
-
第 15 跳:
15.|-- ??? 100.0 4 0.0 0.0 0.0 0.0 0.0
- 最后一跳没有任何响应。
ifconfig
和 ip
命令
ifconfig
和 ip
是查看和配置网络接口的命令。ip
是现代 Linux 系统的推荐命令,但 ifconfig
仍在一些老旧系统中使用。
ifconfig
使用示例:
ifconfig
此命令会显示系统中所有网络接口的详细信息,包括 IP 地址、网络掩码、广播地址等。
ip
使用示例:
ip addr
此命令是 ifconfig
的替代品,用来显示网络接口的 IP 地址和相关信息。
查看网络接口的路由表:
ip route
该命令会显示当前的路由信息,包括默认网关和网络接口。
netstat
和 ss
命令
netstat
是一个用于显示网络连接、路由表、接口统计信息、伪装连接、多播成员等的工具。ss
命令是 netstat
的现代替代,功能更强大,且性能更好。
netstat
使用示例:
netstat -tuln
此命令显示所有处于监听状态的 TCP/UDP 端口。
ss
使用示例:
ss -tuln
与 netstat
类似,显示所有处于监听状态的端口,但运行速度更快。
常用选项:
-t
:显示 TCP 连接-u
:显示 UDP 连接-l
:显示监听端口-n
:显示数字格式的地址和端口,不进行域名解析
dig
和 nslookup
命令
dig
和 nslookup
用于查询 DNS 信息。它们能帮助你检查域名解析是否正常,查看特定域名的 IP 地址,或从特定的 DNS 服务器查询解析记录。
dig
使用示例:
dig www.baidu.com
此命令会查询 www.baidu.com
的 DNS 记录,显示其 IP 地址和其他相关信息。
[root@wh ~]# dig www.baidu.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54351
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 616 IN CNAME www.a.shifen.com.
www.a.shifen.com. 60 IN A 110.242.68.3
www.a.shifen.com. 60 IN A 110.242.68.4
;; Query time: 0 msec
;; SERVER: 183.60.83.19#53(183.60.83.19)
;; WHEN: Sat Sep 07 22:09:40 CST 2024
;; MSG SIZE rcvd: 90
[root@wh ~]#
命令使用详解:
[root@wh ~]# dig www.baidu.com
dig
命令用于查询 DNS 域名系统,返回域名对应的 IP 地址、CNAME(别名)记录等详细信息。
输出解析:
** 1. DiG 版本信息:**
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> www.baidu.com
;; global options: +cmd
- DiG 版本:这是查询工具
DiG
的版本信息,表示它是RedHat
系统上的9.11.4
版本。
** 2. 查询结果概述:**
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54351
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
- 操作码 (opcode):
QUERY
表示执行的是查询操作。 - 状态 (status):
NOERROR
表示查询成功,没有错误。 - 查询 ID:
54351
是此次查询的 ID。 - flags:
qr
:查询的回复。rd
:递归查询 (Recursion Desired),即要求 DNS 服务器递归地查询完整结果。ra
:递归可用 (Recursion Available),DNS 服务器支持递归查询。
** 3. 查询的具体问题:**
;; QUESTION SECTION:
;www.baidu.com. IN A
- 查询的域名:
www.baidu.com
- 查询类型:
A
记录(返回域名对应的 IP 地址)。 - 查询类:
IN
,表示 Internet 类别。
** 4. 答案部分:**
;; ANSWER SECTION:
www.baidu.com. 616 IN CNAME www.a.shifen.com.
www.a.shifen.com. 60 IN A 110.242.68.3
www.a.shifen.com. 60 IN A 110.242.68.4
- www.baidu.com.:这个域名有一个 CNAME(别名) 记录,指向
www.a.shifen.com.
616
:TTL(生存时间),表示该记录将在 616 秒后过期。CNAME
:表示www.baidu.com
是www.a.shifen.com
的别名。
- www.a.shifen.com.:这是别名解析后的真实域名,返回两个 IP 地址:
110.242.68.3
110.242.68.4
- 这两个都是
A
记录,即域名对应的 IPv4 地址。
** 5. 查询时间和服务器信息:**
;; Query time: 0 msec
;; SERVER: 183.60.83.19#53(183.60.83.19)
;; WHEN: Sat Sep 07 22:09:40 CST 2024
;; MSG SIZE rcvd: 90
- 查询时间:
0 ms
,表示响应速度非常快,几乎是即时返回的。 - DNS 服务器:此次查询使用的 DNS 服务器是
183.60.83.19
,端口号为53
。 - 时间:查询时间是
2024 年 9 月 7 日 22:09:40 CST
。 - 消息大小:接收到的回复信息大小为
90
字节。
nslookup
使用示例:
nslookup www.baidu.com
此命令也可以查询域名的 IP 地址,但输出格式相对简单。
常用选项:
@dns-server
:指定使用的 DNS 服务器
dig @8.8.8.8 www.baidu.com
此命令通过 Google 公共 DNS 服务器(8.8.8.8)查询 www.baidu.com
的 DNS 记录。
curl
和 wget
命令
curl
和 wget
是用于测试 HTTP/HTTPS 请求的命令,通常用于下载文件或测试网站的可达性。
curl
使用示例:
curl http://www.baidu.com
此命令会获取 example.com
的网页内容,并将其打印到终端上。
测试 HTTP 头部响应:
curl -I http://www.baidu.com
此命令仅显示 HTTP 响应头。
wget
使用示例:
wget http://www.baidu.com
此命令会将 www.baidu.com
的网页内容下载到当前目录。
nc
(netcat)命令
nc
(Netcat)是一个功能强大的网络工具,可以用于测试端口、创建网络连接,甚至进行简单的服务器-客户端通信。
测试端口是否开放:
nc -zv www.baidu.com 80
此命令测试 www.baidu.com
的 80 端口是否开放,并显示详细信息。
常用选项:
-z
:扫描端口而不发送数据-v
:显示详细信息
[root@wh ~]# nc -zv www.baidu.com 80
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 110.242.68.3:80.
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.
[root@wh ~]#
输出解析:
1. 版本信息:
Ncat: Version 7.50 ( https://nmap.org/ncat )
- 表示你使用的 Netcat 工具版本为
7.50
,这是 Nmap 项目提供的版本,也称为Ncat
。
2. 连接结果:
Ncat: Connected to 110.242.68.3:80.
- Connected to 110.242.68.3:80:
nc
成功连接到www.baidu.com
的80
端口,说明该端口是开放的,并且可以接受连接。- 这里显示的 IP 地址
110.242.68.3
是www.baidu.com
解析后的 IP 地址之一。
- 这里显示的 IP 地址
3. 数据传输:
Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.
- 0 bytes sent:没有向服务器发送任何数据,这与
-z
参数的使用一致,因为它只检查端口的可达性,不发送数据。 - 0 bytes received:没有从服务器接收到任何数据。
- 0.03 seconds:整个连接测试过程只花费了
0.03
秒,响应速度非常快。
tcpdump
命令
tcpdump
是一个强大的网络抓包工具,用于分析网络流量。它可以捕获并显示通过网络接口的所有数据包,非常适合排查复杂的网络问题。
使用示例:
tcpdump -i eth0
此命令会捕获并显示 eth0
接口上的所有流量。
常用选项:
-n
:不进行 DNS 解析,显示数字 IP 地址-w
:将捕获的数据包保存到文件
tcpdump -i eth0 -w capture.pcap
此命令会将数据包保存到 capture.pcap
文件中,稍后可以使用 Wireshark 等工具进行分析。
iperf
命令
iperf
是一个网络性能测试工具,常用于测试带宽、延迟和抖动。它需要在两台主机上运行,一个作为服务器,一个作为客户端。
启动服务端:
iperf -s
启动客户端并测试到服务端的带宽:
iperf -c <server-ip>
此命令会测试客户端到指定服务器的网络带宽。
结论
通过这些网络测试命令,你可以全面了解 Linux 中网络的健康状况,从基本的连通性测试到深层次的抓包分析,掌握这些工具对于系统管理员、网络工程师以及开发者来说都是非常必要的。根据实际需求选择合适的命令组合,可以极大地提高网络故障排查的效率。