Linux查看系统中网络流量的情况

  • 格式:docx
  • 大小:98.91 KB
  • 文档页数:5

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux查看系统中网络流量的情况

【来源:小鸟云计算】

Ps.小鸟云,国内专业的云计算服务商

Linux 中有各种查看网卡流量的工具,比如sar、iftop、nethogs 等。它们可以从不同的维度来分析系统中流量信息,本文进行简要介绍。

sar的使用

sar可以从网络接口层面来分析数据包的收发情况、错误信息等。

使用sar 来监控网络流量的常用命令为sar -n DEV [interval] [count]

参数interval 是统计间隔,count 是统计次数。

示例:

使用以下命令,可以使用sar 每两秒统计一次网络接口的活动状况,连续报告3 次:

回显结果主要字段说明:

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 参数指定接口名,则默认检测第一块网卡的使用情况。

示例:

回显结果说明:

第一行:带宽使用情况显示。

中间部分为外部连接列表,即记录了哪些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 等指令核实具体哪个网络接口对应公网网卡。

示例输出:

回显结果说明:

PID 列表示相应流量关联程序的进程号。

USER 列表示相应进程的所属用户。

PROGRAM 列表示程序的具体执行路径。

DEV 列当前监控的网络接口名称。

Sent 列表示相应进程已经发送的数据流量。

Received 列表示程序已经接收的数据流量。

在nethogs 监控界面,按下s 可以按Sent 列进行排序,按下r 可以按Received 列进行排序,按下m 可以切换不同的统计单位显示(kb/s,kb,b,mb)。

nethogs 默认的监控间隔是1 秒,用户可以通过-d 参数来设定监控间隔。例如设定监控间隔为5秒,可以输入nethogs -d 5