使用 dd 和 nc (Netcat) 工具可以轻松测试两台机器之间的网络带宽性能。这种方法无需复杂的配置,仅通过命令行即可完成。
dd 和 nc(大多数 Linux 发行版默认已安装)。在目标机器上运行以下命令,监听指定端口(例如 17480):
nc -l -v -n -p 17480 > /dev/null
-l:表示进入监听模式。-v:表示详细模式(verbose),会输出更多信息,比如连接状态、错误消息等。-n:表示禁止 DNS 解析(no DNS lookup),仅使用 IP 地址,不尝试将地址解析为主机名。-p 17480:监听端口 17480。> /dev/null:将接收到的数据丢弃。此命令会保持运行状态,等待另一台机器发送数据。
在发送端机器上运行以下命令,开始发送数据到目标机器:
time dd if=/dev/zero | nc -v -n 10.0.19.209 17480
time:用于测量整个命令的执行时间。dd if=/dev/zero:从 /dev/zero(一个生成无限零字节的虚拟文件)读取数据。|:将数据通过管道传递给 nc。nc -v -n 10.0.19.209 17480:连接到目标机器的 10.0.19.209 地址和端口 17480。-v:显示详细信息。-n:直接使用 IP 地址而不解析 DNS。按 Ctrl+C 手动终止测试。
以下是运行命令后的实际输出:
Connection to 10.0.19.209 17480 port [tcp/*] succeeded!
^C19386882+0 records in
19386881+0 records out
9926083072 bytes (9.9 GB, 9.2 GiB) copied, 105.422 s, 94.2 MB/s
Connection to ... succeeded!:
19386882+0 records in/out:
dd 读取了 19,386,882 个块并传输成功,默认每块大小为 512 字节。9926083072 bytes:
105.422 s:
94.2 MB/s:
接收端设置:
性能限制:
dd 和 nc 的性能瓶颈。数据单位换算:
通过 dd 和 nc 工具可以快速测试两台机器之间的网络带宽性能,操作简单且无需额外配置。示例中测试的平均传输速度为 94.2 MB/s,表明网络环境为千兆网络且性能良好。
如果需要进一步优化或诊断网络问题,可以结合 iperf 等专业工具使用。