您好!建议您在云监控中查看 https://help.aliyun.com/document_detail/43393.html?spm=5176.11065259.1996646101.searchclickresult.e3c526b4k0I7M7 或者远程登录服务器:使用命令查看 iftop命令 iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息、TCP/IP连接等
Linux 中有各种查看网卡流量的工具,比如 sar、iftop、nethogs 等。它们可以从不同的纬度来分析系统中流量信息,本文进行简要介绍。
sar 的使用 sar 可以从网络接口层面来分析数据包的收发情况、错误信息等。
使用 sar 来监控网络流量的常用命令为:
sar -n DEV [interval] [count]参数 interval 是统计间隔,count 是统计次数。 示例:
使用以下命令,可以使用 sar 每两秒统计一次网络接口的活动状况,连续报告 3 次:
sar -n DEV 2 2# 输出结果包括按字节数/包数统计的,当前/平均网络接口利用率。Linux 2.6.32-573.12.1.el6.x8664 (centos6.6) 06/23/2016 _x86_64 (8 CPU)09:58:34 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s09:58:36 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.0009:58:36 AM eth0 2.50 0.00 0.15 0.00 0.00 0.00 0.0009:58:36 AM eth1 2.50 1.50 0.19 0.18 0.00 0.00 0.0009:58:36 AM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.0009:58:36 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s09:58:38 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.0009:58:38 AM eth0 1.00 0.00 0.06 0.00 0.00 0.00 0.0009:58:38 AM eth1 2.00 2.00 0.17 0.40 0.00 0.00 0.0009:58:38 AM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/sAverage: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00Average: eth0 1.75 0.00 0.10 0.00 0.00 0.00 0.00Average: eth1 2.25 1.75 0.18 0.29 0.00 0.00 0.00Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 回显结果主要字段说明:
IFACE:网络接口名称 rxpck/s、txpck/s:每秒收/发的数据包数量 rxkB/s、txkB/s:每秒收/发的字节数,以kB/s为单位 rxcmp/s、txcmp/s:每秒收/发的压缩过的数据包数量 rxmcst/s:每秒收到的多播数据包 iftop 的使用 iftop 命令常见用法如下:
iftop [-i interface]参数 -i 后跟的 interface 表示网络接口名,比如 eth0、eth1 等等。如果不通过 -i 参数指定接口名,则默认检测第一块网卡的使用情况,对于 ECS,通常为内网网卡 eth0。 示例:
使用 iftop -i eth1 指令可以查看 ECS 服务器公网网卡的带宽使用情况。示例输出如下
12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kbmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq172.16.2.226 => 42.120.74.111 880b 1.47Kb 1.34Kb <= 160b 221b 175b172.16.2.226 => 111.13.100.92 672b 672b 672b <= 672b 605b 638b172.16.2.226 => public1.alidns.com 0b 57b 14b <= 0b 114b 28b172.16.2.226 => 67.131.44.50 0b 42b 10b <= 0b 42b 10b172.16.3.255 => 172.16.2.208 0b 0b 0b <= 0b 0b 46b172.16.3.255 => 172.16.2.212 0b 0b 0b <= 0b 0b 14b255.255.255.255 => 172.16.2.212 0b 0b 0b <= 0b 0b 14bqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTX: cum: 59.7KB peak: 2.83Kb rates: 1.52Kb 2.22Kb 2.02KbRX: 26.4KB 1.97Kb 832b 981b 925bTOTAL: 86.1KB 4.80Kb 2.33Kb 3.18Kb 2.92Kb <= 0b 288b 288b
回显结果说明:
第一行:带宽使用情况显示。 中间部分为外部连接列表,即记录了哪些 IP 正在和本机的网络连接。 中间部分靠右侧部分是实时流量信息,分别是该访问 IP 连接到本机 2 秒、10 秒和 40 秒的平均流量。 => 代表发送数据,<= 代表接收数据 。 底部三行: 第一列:TX 表示发送流量,RX 表示接收流量,TOTAL 表示总流量。 第二列 cum:表示第一列各种情况的总流量。 第三列 peak:表示第一列各种情况的流量峰值。 第四列 rates:表示第一列各种情况 2 秒、10 秒、40 秒内的平均流量。 注意:iftop 的流量显示单位是Mb,这里的 b 是比特(bit),不是字节(byte)。而 ifstat 显示的单位是 KB 中的 B 是字节。1 byte = 8 bit。
另外,进入 iftop 界面后,可以通过按下相应的字母快捷按键,来对显示结果进行调整。常见操作命令如下(区分大小写):
h 切换是否显示帮助。 n 切换显示本机的 IP 或主机名。 s 切换是否显示本机的 host 信息。 d 切换是否显示远端目标主机的 host 信息。 t 切换显示格式为 2 行 /1 行 / 只显示发送流量 / 只显示接收流量。 N 切换显示端口号或端口服务名称。 S 切换是否显示本机的端口信息。 D 切换是否显示远端目标主机的端口信息。 p 切换是否显示端口信息。 P 切换暂停/继续显示。 b 切换是否显示平均流量图形条。 B 切换计算2秒或10秒或40秒内的平均流量。 T 切换是否显示每个连接的总流量。 l 打开屏幕过滤功能,输入要过滤的字符。比如输入相应 IP 地址,回车后,屏幕就只显示这个 IP 相关的流量信息。 L 切换显示画面上边的刻度;刻度不同,流量图形条会有变化。 j 或按 k 向上或向下滚动屏幕显示的连接记录。 1 或 2 或 3 根据右侧显示的三列流量数据进行排序。 < 根据左边的本机名或 IP 排序。
根据远端目标主机的主机名或 IP 排序。 o 切换是否固定只显示当前的连接。 f 编辑过滤代码。 ! 调用 shell 命令。 q 退出。 nethogs 的使用 Nethogs 是一款开源的网络流量监控工具,可用于显示每个进程的带宽占用情况。这样可以更直观定位异常流量的来源。Nethogs 支持 IPv4 和 IPv6协议,支持本地网卡及 PPP 连接。
Nethogs工具的安装方法请参阅其官方帮助文档,本文不再详述。
安装完毕,直接输入 nethogs 启动工具即可。不带任何参数时,nethogs 默认监控 eth0。用户可以通过 ifconfig 等指令核实具体哪个网络接口(比如 eth1、eth0)对应公网网卡。
示例输出:
nethogs eth1# 输出结果如下:NetHogs version 0.8.0 PID USER PROGRAM DEV SENT RECEIVED9951 root wget eth1 7.253 322.344 KB/sec9670 root sshd: root@pts/0,pts/1 eth1 1.328 0.199 KB/sec? root ..16.2.226:33300-122.224.153.106:48167 0.000 0.000 KB/sec? root unknown TCP 0.000 0.000 KB/sec TOTAL 8.581 322.543 KB/sec
回显结果说明:
PID 列表示相应流量关联程序的进程号。 USER 列表示相应进程的所属用户。 PROGRAM 列表示程序的具体执行路径。 DEV 列当前监控的网络接口名称。 Sent 列表示相应进程已经发送的数据流量。 Received 列表示程序已经接收的数据流量。
在 nethogs 监控界面,按下 s 可以按 Sent 列进行排序,按下 r 可以按 Received 列进行排序,按下 m 可以切换不同的统计单位显示 (kb/s, kb, b,mb)。
nethogs 默认的监控间隔是 1 秒,用户可以通过 -d 参数来设定监控间隔。例如设定监控间隔为5秒,可以输入:
nethogs -d 5
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。