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