使用 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
等专业工具使用。