Linux网络监控:tcpdump实用技巧与故障排查实例

需积分: 46 1 下载量 62 浏览量 更新于2024-08-25 收藏 438KB PPT 举报
本文档介绍了Linux网络监控工具tcpdump的基本使用方法和几个实用场景,包括网络故障排查和性能分析。tcpdump是一个强大的网络数据包捕获工具,用于监视网络上的数据包并分析它们的源地址、目标地址、端口号和协议等信息。 1. **tcpdump命令基础**: - `-D`选项用于列出tcpdump可以监听的网络接口,以便选择合适的接口进行监控。 - `-i any`和`-n`组合用于以IP地址而非域名显示数据包信息,这对于查看精确的网络活动非常有用。 - `-c`指定捕获数据包的总数,`-w`将捕获的包写入文件,`-l`用于重定向输出,`-nn`避免主机名解析。 2. **故障排查示例**: - **arp故障**:通过tcpdump检测到主机B-CLIENT频繁发送ARP广播,发现A-SERVER ARP表缺少P标志,手动添加后解决了网络不通的问题。 - **netflow软件问题**:通过监听路由器的UDP端口9998发现数据包已发送,但工作站上的防火墙阻止了流量,调整防火墙设置后恢复了netflow功能。 - **邮件服务器排障**:分析邮件服务器和客户端之间的三次握手,发现server试图连接113端口进行认证,但未收到回应,通过修改qmail配置解决了延时问题。 3. **高级用法示例**: - 使用`host`选项筛选特定IP或IP范围,如`tcpdump host 210.27.48.1`截取该IP的所有通信。 - 结合逻辑运算符过滤特定主机间的通信,如`tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3)`。 - 使用`not`关键字排除特定条件,如`tcpdump ip host 210.27.48.1 and ! 210.27.48.2`抓取除指定主机外的包。 4. **性能监控**: - `strace`和`ltrace`用于调试程序,`strace -f -o vim.strace vim`追踪vim及其子进程,`ltrace -p 234`跟踪运行中的进程。 - `sar`命令用于系统活动报告,`-u`关注磁盘I/O等待时间,`-r`或`-B`监测内存使用和交换情况,`iostat`监控设备使用情况,如每秒传输次数(tps)。 tcpdump是一个强大的网络分析工具,能帮助IT专业人士诊断网络问题、优化性能和保护网络安全。通过结合其他辅助工具如strace和sar,可以全面了解系统的运行状况。