菜鸟科技网

Linux测网速命令有哪些?

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

Linux测网速命令有哪些?-图1
(图片来源网络,侵删)

基于文件传输的测速方法

dd命令测试本地磁盘读写速度

虽然dd主要用于磁盘操作,但通过生成大文件并计算传输时间,可间接反映磁盘性能,间接影响网络传输效率。

dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
  • if:输入文件(/dev/zero生成空数据)
  • of:输出文件
  • bs:块大小(1G表示1GB)
  • count:块数量
  • oflag=direct:绕过缓存,确保真实速度

scprsync测试网络传输速度

通过向远程服务器传输大文件,可计算实际带宽,例如使用scp

scp largefile user@remote:/path/to/destination

传输完成后,根据文件大小和时间计算速度(如1GB文件耗时10秒,则速度为100MB/s)。

使用专业网速测试工具

speedtest-cli:全球流行的Speedtest.net命令行版

安装

Linux测网速命令有哪些?-图2
(图片来源网络,侵删)
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

使用

Linux测网速命令有哪些?-图3
(图片来源网络,侵删)
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的下载测速

wgetcurl测试下载速度

通过下载大文件(如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下载速度 简单直接,无需额外工具 仅测试单连接下载能力

注意事项

  1. 关闭后台应用:测试前关闭占用带宽的程序(如下载工具、视频播放器)。
  2. 选择合适服务器speedtest-cli优先选择地理位置近的服务器,减少路由影响。
  3. 多次测试取平均:网络波动大时,多次测试结果取平均值更准确。
  4. 单位换算:注意区分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

分享:
扫描分享到社交APP
上一篇
下一篇