在Linux系统中,测网速是网络管理和故障排查中的常见需求,虽然Linux没有内置类似Windows或macOS的图形化网速测试工具,但通过命令行工具可以高效实现网速测试,以下是常用的Linux测网速命令及其详细使用方法。

基于文件传输的测速方法
dd
命令测试本地磁盘读写速度
虽然dd
主要用于磁盘操作,但通过生成大文件并计算传输时间,可间接反映磁盘性能,间接影响网络传输效率。
dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
if
:输入文件(/dev/zero
生成空数据)of
:输出文件bs
:块大小(1G表示1GB)count
:块数量oflag=direct
:绕过缓存,确保真实速度
scp
或rsync
测试网络传输速度
通过向远程服务器传输大文件,可计算实际带宽,例如使用scp
:
scp largefile user@remote:/path/to/destination
传输完成后,根据文件大小和时间计算速度(如1GB文件耗时10秒,则速度为100MB/s)。
使用专业网速测试工具
speedtest-cli
:全球流行的Speedtest.net命令行版
安装:

curl -s https://install.speedtest.net/app/cli/install.sh | bash
使用:
- 基础测试:
speedtest
- 指定服务器:
speedtest --server <ID>
(通过speedtest --list
获取服务器ID) - 仅下载/上传测试:
speedtest --simple
输出参数:
- Ping:延迟(毫秒)
- Download:下载速度(Mbps)
- Upload:上传速度(Mbps)
nload
:实时监控网络流量
安装(以Ubuntu为例):
sudo apt install nload
使用:

nload -i eth0
- 显示实时上传/下载速度、总流量及当前连接状态。
iftop
:按进程/主机统计流量
安装:
sudo apt install iftop
使用:
iftop -i eth0
- 按带宽使用率排序显示主机和进程流量,支持交互式操作(如按
n
显示主机名,t
切换显示模式)。
bwm-ng
:带宽数据监控工具
安装:
sudo apt install bwm-ng
使用:
bwm-ng -u bits -o csv -d 5
-u
:单位(bits/bytes)-o
:输出格式(csv为表格)-d
:刷新间隔(秒)
基于HTTP/HTTPS的下载测速
wget
或curl
测试下载速度
通过下载大文件(如ISO镜像)计算速度:
wget -O /dev/null http://example.com/largefile.iso
或使用curl
:
curl -o /dev/null -w "Download speed: %{speed_download} bytes/sec\n" http://example.com/largefile.iso
-w
:自定义输出格式,显示下载速度。
iperf3
:专业网络性能测试工具
需在服务器端和客户端同时安装: 服务器端:
iperf3 -s
客户端:
iperf3 -c server_ip -t 10 -P 4
-t
:测试时长(秒)-P
:并行线程数- 输出包括带宽、抖动、丢包率等详细指标。
不同场景工具对比
工具名称 | 测试类型 | 优点 | 缺点 |
---|---|---|---|
speedtest-cli |
公网带宽 | 服务器多,结果直观 | 依赖外部服务,可能受限制 |
nload |
实时流量监控 | 动态显示,支持多网卡 | 无历史数据统计 |
iftop |
进程/主机流量分析 | 按进程统计,定位高流量应用 | 需root权限,界面较复杂 |
iperf3 |
TCP/UDP性能测试 | 支持自定义参数,专业级测试 | 需配对服务器,配置较复杂 |
wget/curl |
HTTP下载速度 | 简单直接,无需额外工具 | 仅测试单连接下载能力 |
注意事项
- 关闭后台应用:测试前关闭占用带宽的程序(如下载工具、视频播放器)。
- 选择合适服务器:
speedtest-cli
优先选择地理位置近的服务器,减少路由影响。 - 多次测试取平均:网络波动大时,多次测试结果取平均值更准确。
- 单位换算:注意区分
bits
(比特)和bytes
(字节),1MB/s=8Mbps。
相关问答FAQs
Q1: 为什么speedtest-cli
测试结果与实际带宽不符?
A: 可能原因包括:① 服务器负载过高或距离过远导致延迟;② 本地网络拥塞(如其他设备占用带宽);③ 运营商限速或QoS策略,建议更换服务器或使用iperf3
测试本地到内网服务器的带宽。
Q2: 如何持续监控服务器网络带宽使用情况?
A: 可结合vnstat
(轻量级流量统计)和crontab
实现长期监控,安装vnstat
后,设置每5分钟记录数据:
sudo apt install vnstat sudo crontab -e
添加:*/5 * * * * /usr/bin/vnstat --update -i eth0
通过vnstat -m
查看月流量统计,或生成HTML报告:vnstat -h --html > report.html
。