Linux系统中,查看网络IO(输入/输出)是监控网络性能、诊断网络问题的重要手段,以下是几种常用的方法及其详细说明:
ifconfig
命令
ifconfig
命令用于显示和配置网络接口的信息,包括IP地址、MAC地址、发送和接收的数据包等,虽然它主要用于查看网络接口的配置信息,但也可以通过查看接口的RX(接收)和TX(发送)数据包的统计信息来间接了解网络IO情况。
示例命令:
ifconfig eth0
示例输出:
eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:41:30 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:518103 errors:0 dropped:0 overruns:0 frame:0 TX packets:401733 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:550233798 (524.6 MiB) TX bytes:94066354 (89.7 MiB)
说明:
RX packets
:接收的数据包数量。TX packets
:发送的数据包数量。RX bytes
:接收的字节数。TX bytes
:发送的字节数。
netstat
命令
netstat
命令用于显示网络连接、路由表、网络接口统计信息等,通过netstat -i
可以查看网络接口的数据传输速率。
示例命令:
netstat -i
示例输出:
Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 518107 0 0 0 401736 0 0 0 BMRU lo 65536 594 0 0 0 594 0 0 0 LRU
说明:
RX-OK
:接收成功的数据包数量。TX-OK
:发送成功的数据包数量。
ip
命令
ip
命令是ifconfig
的替代工具,提供了更多的功能和选项,使用ip
命令可以查看网络接口的信息,包括IP地址、子网掩码、广播地址等,同时也可以通过ip -s link
查看网络接口的流量统计信息。
示例命令:
ip -s link
示例输出:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:fd:41:30 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 550233798 518107 0 0 0 0 TX: bytes packets errors dropped carrier collsns 94066354 401736 0 0 0 0
说明:
RX: bytes
:接收的字节数。TX: bytes
:发送的字节数。
nload
命令
nload
是一个基于ncurses库的命令行工具,用于显示网络接口的实时流量信息,它可以以图形化的方式查看网络接口的发送和接收速率。
安装命令(Debian/Ubuntu):
sudo apt-get install nload
示例命令:
nload eth0
说明:
nload
会实时显示指定网络接口的上传和下载速率,以及总流量。
iftop
命令
iftop
是一个实时网络流量监控工具,可以实时显示当前网络接口的流量情况,它可以按照源IP地址、目标IP地址、端口号等进行过滤,还可以按照流量大小进行排序。
安装命令(Debian/Ubuntu):
sudo apt-get install iftop
示例命令:
iftop -i eth0
说明:
iftop
会实时显示网络接口的流量情况,包括源IP、目标IP、端口、协议、传输速率等。
vnstat
命令
vnstat
是一个网络流量监控工具,可以记录和显示网络接口的流量统计信息,它支持按天、周、月、年等时间范围查看流量统计。
安装命令(Debian/Ubuntu):
sudo apt-get install vnstat
示例命令:
vnstat -l -i eth0
说明:
vnstat -l
:实时显示网络接口的流量统计信息。-i eth0
:指定要监控的网络接口。
sar
命令
sar
命令用于收集、报告和保存系统活动信息,包括CPU使用情况、内存使用情况、I/O活动等,通过sar -n
可以查看网络相关的统计信息。
示例命令:
sar -n DEV 1 5
示例输出:
Linux 5.4.0-40-generic (ubuntu) 08/26/2021 _x86_64_ (4 CPU) 12:00:00 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 12:00:01 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:00:02 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:00:03 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:00:04 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:00:05 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
说明:
rxpck/s
:每秒接收的数据包数。txpck/s
:每秒发送的数据包数。rxkB/s
:每秒接收的字节数。txkB/s
:每秒发送的字节数。
FAQs
Q1: ifconfig
和ip
命令有什么区别?
A1:ifconfig
和ip
命令都可以用于查看和配置网络接口的信息,但ip
命令是ifconfig
的替代工具,提供了更多的功能和选项。ip
命令更加现代化,支持更多的网络配置和管理功能。
Q2: nload
和iftop
命令有什么区别?
A2:nload
和iftop
都是用于监控网络流量的工具,但它们的显示方式和使用场景有所不同。nload
以图形化的方式显示网络接口的实时流量信息,适合快速查看网络接口的上传和下载速率,而iftop
则是一个实时网络流量监控工具,可以显示详细的网络连接信息,包括源IP、目标IP、端口、协议、传输速率等,适合深入分析网络流量
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/70225.html