如何在Linux系统上进行网络监控?

  • Post category:Linux

在Linux系统上进行网络监控可以使用多种工具,包括iftop、tcpdump、Wireshark、NetHogs等等。下面将介绍如何使用iftop和tcpdump进行网络监控。

iftop网络监控工具

iftop可以实时显示网络流量和带宽使用情况,可以轻松发现哪些进程或IP地址消耗了网络带宽资源。

安装iftop工具

可以通过以下命令在Debian/Ubuntu系统上安装iftop工具:

sudo apt-get install iftop

使用iftop工具

使用如下命令以查看网络流量:

sudo iftop -i eth0

其中,-i参数指定要监控的网络接口,eth0为第一个网卡接口的名称(你可以通过ifconfig命令查看包括eth0在内的所有网络接口名)。

输出结果示例:

            10.128.0.156 
┌───────────────────────────────────────────────────────────────────────────────┐
│      10.128.2.13:https               ⟷       52.37.101.62:https                │ 
│-----------------------------------------------------------------------│──────│
│                              73.5Kb

该输出结果中,10.128.2.13为本地主机IP地址,和52.37.101.62之间进行https通信,当前流量为73.5Kb。

tcpdump网络监控工具

tcpdump工具是一个强大的网络监控工具,可以捕获网络数据包并进行详细分析。

安装tcpdump工具

可以通过以下命令在Debian/Ubuntu系统上安装tcpdump工具:

sudo apt-get install tcpdump

使用tcpdump工具

使用如下命令以进行网络监控:

sudo tcpdump -i eth0 -v

其中,-i参数指定要监控的网络接口,eth0为第一个网卡接口的名称(你可以通过ifconfig命令查看包括eth0在内的所有网络接口名),-v参数表示以详细模式输出捕获的数据包。

下面是一个示例命令行,显示从192.168.0.10到192.168.0.11的所有通信:

sudo tcpdump -i eth0 -nn src host 192.168.0.10 and dst host 192.168.0.11

其中,-nn参数指定以IP地址而不是主机名输出,src host和dst host参数分别指定源IP和目标IP地址。

输出结果示例:

21:07:19.419572 IP 192.168.0.10.42669 > 192.168.0.11.https: Flags [.], ack 9533, win 515, length 0
21:07:19.455278 IP 192.168.0.10.42669 > 192.168.0.11.https: Flags [P.], seq 0:303, ack 1, win 515, length 303

这些行分别代表不同的网络数据包,你可以通过tcpdump的文档来查阅每种类型数据包的含义。