1. 前言
Linux系统下,我们常常需要查看网络速度,比如在下载文件时可以观察下载速度,实时了解下载进度,或者在使用某些网络工具时需要知道当前网络速度的情况,以便做出相应的调整。那么,Linux如何查看网络速度呢?下面将会进行详细介绍。
2. ifconfig查看网络速度
2.1 ifconfig命令的作用
ifconfig是Linux系统下的网络工具,它可以查看网卡的配置信息,包括网络接口、IP地址、掩码、网络状态等等。其中,如果我们想查看实际的网络速度,主要需要关注传输速率和传输大小。
2.2 ifconfig命令查看网络速度
首先,我们需要使用ifconfig命令查看当前系统中的所有网络接口:
ifconfig
该命令执行后会列出所有的网络接口,如下:
eth0 Link encap:Ethernet HWaddr 00:50:56:8f:ff:a1
inet addr:10.0.2.9 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe8f:ffa1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:767891 errors:0 dropped:0 overruns:0 frame:0
TX packets:294234 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:999534585 (999.5 MB) TX bytes:19803182 (19.8 MB)
etc.
在这个例子中,我们将以eth0网络接口为例,观察该接口的传输速率和传输大小。
在ifconfig命令的输出结果中,RX和TX分别表示接收和发送的数据包数,RX bytes和TX bytes表示接收和发送的字节数。因此,我们可以使用以下命令查看网络速度:
ifconfig eth0 | grep bytes
执行该命令后,将会列出eth0网络接口的接收和发送的字节数,如下所示:
RX bytes:999534585 (999.5 MB) TX bytes:19803182 (19.8 MB)
由于ifconfig命令没有提供实时的网络速度信息,因此我们需要针对这些字节数做一些计算。通常来说,网络速度的计算方式是测速工具测出传输时间,然后用传输大小除以传输时间得到网络速度。在这里,我们借助Linux系统中内置的time命令来计算传输时间,并使用bc工具进行浮点数计算:
time (dd if=/dev/zero bs=1M count=500 | nc -v 127.0.0.1 8282) && echo "scale=2; 500 / `time -f "%e" dd of=/dev/null bs=1M count=500 2>&1 | tail -n1`" | bc
执行后,将会出现如下的输出信息:
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 4.8751 s, 107 MB/s
5.40user 0.12system 0:04.88elapsed 112%CPU (0avgtext+0avgdata 15332maxresident)k
0inputs+0outputs (1major+1896minor)pagefaults 0swaps
107.21
其中,第一行的速度(107 MB/s)即为传输速度,以MB/s为单位。注意,这不是公网速度,如果要测量网络连接的速度,请使用专业的网络工具。
3. nload查看网络速度
3.1 nload的作用
与ifconfig命令类似,nload是一款Linux系统下的网络工具,可以显示实时的网络流量、网速和带宽使用情况。
3.2 安装nload工具
在Ubuntu中,可以使用apt-get命令来安装nload:
sudo apt-get install nload
3.3 使用nload查看网络速度
安装完成后,我们可以使用以下命令运行nload工具:
nload
执行后,将会出现如下信息:
/\
/ \ \ | /
/ \ \ |/ | /
--------/------\-------X------|/----\-------------------
\ / / |\ | \
\ / / | \
\/_______/___|__\__________________________________
/ \
Input Output
0b/s 0b/s
其中,Input和Output分别表示接收和发送的数据量,0b/s表示当前传输速度为0。
在nload显示界面中,我们可以使用键盘上的“Up”和“Down”键来向上和向下滚动屏幕,可以使用“q”键来退出nload工具。
4. 使用iptraf查看网络速度
4.1 iptraf的作用
与nload工具类似,iptraf是一款Linux系统下的网络流量监控工具,可以帮助管理员和用户实时监控网络传输速度、连接数、报文数量等等。
4.2 安装iptraf工具
在Ubuntu中,可以使用apt-get命令来安装iptraf:
sudo apt-get install iptraf
4.3 使用iptraf查看网络速度
安装完成后,我们可以使用以下命令启动iptraf:
sudo iptraf-ng
执行后,将会出现如下信息:
IP Traffic Monitor Rel 2.0.1^Wbeta4
GENERAL INTERFACE STATISTICS
lo eth0
IP bps IP bps
In -
Out - 383.18k 0.00 706.79k 0.00 10.62m 0.00
TCP 0.00 153.05k 0.00 63.47k 0.00 137.67k 0.00
UDP 0.00 230.13k 0.00 0.00 0.00 301.41k 0.00
ICMP 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Non-IP 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Avg pkt size (bytes): 0.00 293.66 0.00 752.18 0.00 613.66
其中,eth0表示要监视的网络接口,In和Out分别表示接收和发送的数据量,bps表示传输速率。注意,在iptraf中要使用“q”键来退出工具,否则可能造成网络不响应的情况。
5. 总结
Linux系统下,有多种工具可以用于查看网络速度,其中包括ifconfig、nload和iptraf等等。在使用这些工具时,我们可以结合实际情况选择不同的工具来观察网络速度,以便更好地解决网络问题。