Linux中,可使用
iftop
、iptraf
等命令行工具查看
使用 ifconfig
命令
ifconfig
是一个传统的网络配置命令,虽然已被 ip
命令取代,但仍广泛使用,它可以显示网络接口的基本信息,包括流量统计。
命令:
ifconfig
输出示例:
eth0 Link encap:Ethernet HWaddr 00:0c:29:68:34:86
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe68:3486/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:123456 bytes:12345678 (12.3 MB)
TX packets:654321 bytes:67890123 (67.8 MB)
说明:
RX packets
和RX bytes
表示接收的数据包数量和字节数。TX packets
和TX bytes
表示发送的数据包数量和字节数。
使用 ip
命令
ip
命令是 ifconfig
的现代替代品,功能更强大且支持更多选项。
命令:
ip -s link show
输出示例:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:68:34:86 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe68:3486/64 scope link
valid_lft forever preferred_lft forever
RX: bytes packets errors dropped overrun mcast
12345678 123456 0 0 0 0
TX: bytes packets errors dropped carrier collsns
67890123 654321 0 0 0 0
说明:
RX
和TX
部分分别显示接收和发送的字节数、数据包数量以及错误信息。
使用 netstat
命令
netstat
是一个强大的网络统计工具,可以显示网络连接、路由表、接口统计等信息。
命令:
netstat -i
输出示例:
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 123456 0 0 0 654321 0 0 0 BMRU
说明:
RX-OK
和TX-OK
分别表示成功接收和发送的数据包数量。RX-ERR
和TX-ERR
表示接收和发送的错误包数量。
使用 nload
工具
nload
是一个实时网络流量监控工具,可以以图形化方式显示网络流量。
安装:
sudo apt-get install nload
命令:
nload eth0
说明:
nload
会实时显示指定接口(如eth0
)的上传和下载速度。- 支持多种选项,如设置刷新间隔、显示单位等。
使用 iftop
工具
iftop
是一个实时网络流量监控工具,类似于 nload
,但功能更强大,可以显示具体的连接信息。
安装:
sudo apt-get install iftop
命令:
sudo iftop
说明:
iftop
会实时显示网络接口的流量,并列出具体的连接信息,如源IP、目标IP、传输速率等。- 支持排序、过滤等功能,方便分析。
使用 vnstat
工具
vnstat
是一个网络流量监控工具,可以记录和统计网络流量的历史数据。
安装:
sudo apt-get install vnstat
命令:
vnstat -l
说明:
vnstat -l
会实时显示网络流量。vnstat -m
可以查看月度统计,vnstat -d
可以查看每日统计。
使用 bmon
工具
bmon
是一个基于 nload
的网络流量监控工具,支持多接口监控和历史数据统计。
安装:
sudo apt-get install bmon
命令:
bmon
说明:
bmon
提供直观的图形界面,支持多接口监控。- 可以查看实时流量、历史数据以及流量峰值。
使用 sar
命令
sar
是 sysstat
包中的一个工具,可以用于系统性能监控,包括网络流量。
安装:
sudo apt-get install sysstat
命令:
sar -n DEV 1 1
输出示例:
Linux 5.4.0-42-generic (hostname) 10/31/2023 _x86_64_ (4 CPU)
12:00:01 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
12:00:01 AM eth0 10.55 15.45 84.4 123.6 0.0 0.0 0.0 12.3%
说明:
sar
可以显示每秒的网络流量统计,包括数据包数量、字节数等。- 支持定时采样和历史数据查看。
使用 iptables
结合 awk
脚本
通过 iptables
的日志功能,可以记录详细的网络流量信息,并结合 awk
脚本进行分析。
步骤:
- 启用
iptables
日志:sudo iptables -A INPUT -j LOG --log-prefix "INPUT packets: " --log-level 4 sudo iptables -A FORWARD -j LOG --log-prefix "FORWARD packets: " --log-level 4 sudo iptables -A OUTPUT -j LOG --log-prefix "OUTPUT packets: " --log-level 4
- 查看日志文件(通常在
/var/log/messages
或/var/log/syslog
):tail -f /var/log/syslog | grep "INPUT packets" | awk '{print $1, $2, $3, $4, $5, $6}'
说明:
iptables
日志可以记录每个数据包的详细信息,包括时间、协议、源IP、目标IP等。- 结合
awk
脚本可以提取和分析特定字段。
使用 collectl
工具
collectl
是一个系统性能监控工具,支持实时监控网络流量、CPU、内存等资源。
安装:
sudo apt-get install collectl
命令:
collectl -s X -i eth0
X
是采样间隔(秒)。
说明:
collectl
可以实时显示网络接口的流量,并支持保存历史数据。- 支持多种资源监控,适合全面系统性能分析。
相关问答FAQs
问题1:如何查看某个特定网络接口的流量?
解答:
可以使用 ifconfig
、ip
或 nload
等工具指定接口。
ifconfig eth0
:查看eth0
接口的流量统计。nload eth0
:实时监控eth0
接口的流量。ip -s link show eth0
:查看eth0
接口的详细流量统计。
问题2:如何查看网络流量的历史数据?
解答:
可以使用 vnstat
或 collectl
等工具记录和查看历史数据。
vnstat -m
:查看月度网络流量统计。vnstat -d
:查看每日网络流量统计。- `collectl -s X -i eth0 –output file.
以上就是关于“linux如何查看网络流量”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/11691.html