在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的文档来查阅每种类型数据包的含义。