网络流量监控

Linux系统中有各种查看网络流量的工具,比如sar、iftop、nethogs等,它们可以从不同的纬度来分析系统中流量信息。

Sar

sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告。sar可以从网络接口层面来分析数据包的收发情况、错误信息等。

执行如下命令,使用sar每1秒统计一次网络接口的活动状况,连续统计5次。

sar -n DEV 1 5

显示结果主要字段说明

IFACE:网络接口名称。

rxpck/s、txpck/s:每秒接收或发送的数据包数量。

rxkB/s、txkB/s:每秒接收或发送的字节数,以kB/s为单位。

rxcmp/s、txcmp/s:每秒接收或发送的压缩过的数据包数量。

rxmcst/s:每秒接收到的多播数据包。

Iftop

iftop是Linux系统中一个免费的网卡实时流量监控工具,可以监控包括指定网卡的实时流量、端口连接信息、反向解析IP等信息。

执行如下命令,查看详细端口流量占用情况。

iftop -i eth0 -P

执行如下命令,查看端口对应的进程。

netstat -tunlp |grep [$Port]

确认对应服务后,您可以通过停止服务或使用iptables服务来对指定地址进行处理。例如屏蔽IP地址或限速,以保证服务器带宽能够正常使用。

Nethogs

Nethogs是一款开源的网络流量监控工具,可用于显示每个进程的带宽占用情况。这样可以更直观定位异常流量的来源。Nethogs支持IPv4和IPv6协议,支持本地网卡及PPP连接。直接输入nethogs启动工具即可。不带任何参数时,Nethogs默认监控eth0。用户可以通过ifconfig等指令核实具体哪个网络接口(eth1、eth0)对应公网网卡。

查看网卡上进程级的流量信息。

nethogs eth1

若确定进程是恶意程序,可以通过执行如下命令,终止进程。

kill -TERM [$Port1]