网络抓包分析:tcpdump实战

周

周算法

· 阅读 384

分享
tcpdump抓包

网络抓包分析:tcpdump实战

当网络问题难以通过常规手段定位时,抓包分析是最直接有效的方法。tcpdump是Linux下最强大的网络抓包工具,可以捕获和分析网络数据包。本文通过实战案例介绍tcpdump的使用方法。

不少团队在「网络抓包分析:tcpdump实战」上走过弯路,根源通常是只优化了局部、却忽视了全局。VPC 网络与安全组规划的价值恰恰体现在端到端的协同:从资源申请、网络互通,到弹性与容灾,每一步都需要统一的规范和口径。

网络抓包分析:tcpdump实战

基础用法

tcpdump -i eth0:在eth0网卡上抓包(默认输出到终端)。tcpdump -i eth0 -c 100:只抓100个包。tcpdump -i eth0 -w capture.pcap:将抓包结果保存到文件(用Wireshark打开分析)。

过滤表达式

按主机:tcpdump -i eth0 host 192.168.1.100(只抓和该IP相关的包)。

按端口:tcpdump -i eth0 port 80(只抓80端口的包)。

按协议:tcpdump -i eth0 tcp(只抓TCP包)、udp、icmp、arp。

组合过滤:tcpdump -i eth0 'tcp port 80 and host 10.0.0.1'(抓和10.0.0.1通信的80端口TCP包)。

按方向:tcpdump -i eth0 'src host 10.0.0.1'(源地址为10.0.0.1的包)。

实战场景

排查连接超时:客户端连接服务端超时。在服务端抓包 tcpdump -i eth0 'tcp port 8080 and host client_ip'。如果看不到SYN包,说明包被中间防火墙拦截了。如果看到SYN但没有SYN-ACK,说明服务端没有响应(可能端口没监听或防火墙规则问题)。

排查丢包:应用偶尔超时。抓包统计重传率:tcpdump -i eth0 'tcp port 80' -w cap.pcap,用Wireshark打开查看Statistics → I/O Graphs,观察重传和乱序情况。

分析HTTP请求:tcpdump -i eth0 -A -s0 'tcp port 80 and host client_ip'。-A以ASCII输出包内容,-s0不截断。可以看到完整的HTTP请求和响应内容。

注意事项

抓包会产生大量数据,务必使用过滤表达式限制范围。生产环境抓包时间不宜过长(影响性能)。大流量场景使用 -C 100 限制每个文件大小为100MB,-W 5 限制最多5个文件。

网络抓包分析:tcpdump实战

与安徽卓牛一起推进VPC 网络与安全组规划

安徽卓牛作为阿里云一级代理商,长期服务企业客户的上云与用云全过程,能够围绕VPC 网络与安全组规划提供架构评审、产品选型、迁移实施与运维托管等一站式支持,帮助团队把精力集中在业务本身。

如果你正在评估「网络抓包分析:tcpdump实战」相关方案,或希望对现有架构做一次体检,欢迎通过官网在线客服联系安徽卓牛,获取贴合自身业务的建议。

网络抓包分析:tcpdump实战

把VPC 网络与安全组规划放回架构全局来看

单点的最优解,叠加起来未必是全局最优。评估VPC 网络与安全组规划时,建议先明确业务的峰值模型与故障容忍度,再倒推资源与网络该怎么设计:哪些负载是稳定基线、哪些是突发流量、哪些可以容忍短暂中断,答案不同,架构取向也完全不同。

在此基础上再谈规格与参数,才有意义。否则很容易陷入「先买资源、再找用途」的被动局面,成本与复杂度都会随之上升。