当前位置:首页 > Linux > 正文

linux如何查看网络io

Linux中,查看网络IO可使用ifconfig、netstat、ip、nload等命令

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

说明

linux如何查看网络io 第1张

  • 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):

linux如何查看网络io 第2张

示例命令

nload eth0

说明

  • nload会实时显示指定网络接口的上传和下载速率,以及总流量。

iftop命令

iftop是一个实时网络流量监控工具,可以实时显示当前网络接口的流量情况,它可以按照源IP地址、目标IP地址、端口号等进行过滤,还可以按照流量大小进行排序。

安装命令(Debian/Ubuntu):

sudo apt-get install iftop

示例命令

iftop -i eth0

说明

  • iftop会实时显示网络接口的流量情况,包括源IP、目标IP、端口、协议、传输速率等。

vnstat命令

vnstat是一个网络流量监控工具,可以记录和显示网络接口的流量统计信息,它支持按天、周、月、年等时间范围查看流量统计。

linux如何查看网络io 第3张

安装命令(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、端口、协议、传输速率等,适合深入分析网络流量

0