最近要去一个工厂排查网络和电脑卡顿的问题,为此,我准备了以下的方案,在现场以抓包和网络监控的方式来排查。
1.评估流程
为了评估Linux系统的网络负荷,并使用tcpdump来捕获数据包进行分析,您需要遵循以下几个步骤:
1.1 安装工具
确保您的系统中已安装tcpdump。如果没有安装,可以使用包管理器安装它。例如,在Debian或Ubuntu上,你可以使用以下命令:
sudo apt-get update |
1.2 监控网络接口
在开始捕获之前,您需要知道哪个网络接口需要监控。可以使用ip或ifconfig命令查看系统的接口列表:
ip link show |
或者(如果您的系统还支持ifconfig):
ifconfig -a |
1.3 使用tcpdump捕获数据包:
一旦您知道了要监控的网络接口,可以使用tcpdump来捕获数据包。为了减少负荷并且只获取您需要的信息,您应该使用过滤器。例如,以下命令将只捕获所有进出指定接口的TCP流量:
sudo tcpdump -i eth0 tcp |
替换eth0为您要监控的实际接口名称。
1.4 限制捕获尺寸
长时间运行tcpdump可能会生成大量数据。为了减少影响和存储需求,您可以限制捕获的尺寸或持续时间:
sudo tcpdump -i eth0 tcp -C 100 -W 10 -w capture.pcap |
这个命令会限制每个文件最大100MB,并且只保留最新的10个文件。-w选项指定了文件的前缀。
1.5 分析捕获的数据包
一旦捕获了数据包,您可以使用像Wireshark这样的工具来进行更详细的分析。tcpdump的输出文件(在上面的例子中是capture.pcap)可以直接用Wireshark打开。
1.6 使用轻量级命令监控
如果您只是想要监控实时的网络负荷而不进行深入的数据包分析,您可以使用像iftop或nload这样的轻量级工具。这些工具可以实时显示网络使用情况,但不会捕获实际的数据包内容。
安装iftop或nload的命令通常如下:
sudo apt-get install iftop |
或者
sudo apt-get install nload |
然后可以运行iftop或nload来观察实时的网络流量。
1.7 定期监控与分析
如果您需要定期监控网络负荷并生成报告,可以使用cron作业来安排tcpdump运行,并使用脚本来处理和分析生成的.pcap文件。
请记住,捕获网络流量可能会受到公司政策或当地法律的限制。确保您有权执行这些操作,并且捕获的数据遵守隐私和安全规范。
2.iftop使用方法
iftop 是一个实时的网络带宽监控工具。它显示一个类似于top的界面,列出当前系统上的网络连接和它们的带宽使用情况。以下是如何使用 iftop 的基本步骤和说明:
2.1 安装iftop
如果尚未安装 iftop,您可以通过系统的包管理器进行安装。在基于Debian的系统上,使用以下命令:
sudo apt-get update |
2.2 运行iftop
要运行 iftop,只需在终端中输入以下命令:
sudo iftop |
这将在默认的网络接口上显示网络流量。
2.3 指定网络接口
如果您想监视特定的网络接口,可以使用 -i 选项来指定接口。例如,要监视 eth0 接口,您可以运行:
sudo iftop -i eth0 |
替换 eth0 为您想要监控的实际接口名称。
2.4 使用iftop显示选项
iftop 提供了多种显示选项,例如,可以通过按下以下键来控制 iftop 的显示输出:
- P:显示或隐藏端口信息
- n:显示或隐藏主机名(反向解析主机名可能会稍微增加资源使用)
- t:切换显示模式(两行/一行)
- T:切换显示累计流量
- j 和 k:在连接列表中向下或向上移动
- > 和 <:改变排序顺序
- q:退出 iftop
2.5 过滤流量
您可以使用过滤器来显示与特定主机或服务相关的流量。例如,只监视与IP地址 192.168.1.1 相关的流量:
sudo iftop -i eth0 -F 192.168.1.1 |
iftop 需要root权限来运行,因为它需要访问网络接口和捕获数据包。如果您对 iftop 的更多高级功能感兴趣,可以查看其手册页以获取详细的使用说明:
man iftop |
请记住,在某些系统上,您可能需要使用 sudo 来授予 iftop 必要的权限。另外,请确保您有权查看网络流量,并且您的行为符合任何相关的法律和政策要求。
3.iftop高级应用:快捷键指南
P - 切换暂停/继续显示网络流量。 |
高级应用:https://blog.csdn.net/qq_40907977/article/details/115066452