为网络分析与故障排查打造的命令行抓包解决方案
支持TCP/UDP/ICMP/ARP等协议,捕获网络层到应用层数据包
类C语法的Berkeley包过滤器,精准筛选目标流量(如端口、IP)
支持将抓包数据保存为.pcap文件,用Wireshark等工具离线分析
实时统计连接数、数据包大小分布、协议占比等网络指标
结合cron或timeout实现定时抓包,满足周期性监控需求
纯命令行工具,资源消耗极低,适合服务器长期运行
国内高速网盘下载,提供百度网盘与夸克网盘镜像
开源免费 | Linux/Unix-like系统专用 | 命令行抓包工具
从基础抓包到高级过滤,掌握网络分析技巧
最简命令格式:tcpdump [选项] [过滤表达式]
精准筛选目标流量,语法:[协议] [方向] [地址] [端口]
将抓包数据保存为.pcap文件,供后续分析
结合统计、定时、复杂过滤实现深度分析
Tcpdump使用过程中的疑难问题解决方案
Tcpdump是命令行工具,轻量高效,适合服务器环境;Wireshark是图形化工具,功能更丰富(协议解码、流重组),适合深度分析。两者常配合使用:Tcpdump抓包,Wireshark分析。
抓包需要访问网络接口底层数据,普通用户无权限。解决方法:1. 用sudo运行;2. 赋予tcpdump二进制文件CAP_NET_RAW能力:sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
需先解析域名获取IP,再过滤IP。例如抓example.com流量:
1. 解析IP:nslookup example.com
2. 过滤IP:sudo tcpdump host 93.184.216.34(IP可能变化,建议用脚本动态解析)
优化方法:1. 用BPF过滤减少无关包;2. 限制文件大小:-C 10(每10MB新建文件);3. 压缩保存:tcpdump -w - | gzip > capture.pcap.gz;4. 只抓包头:-s 96(截取前96字节)
抓SYN/SYN-ACK/ACK包分析:
1. 捕获TCP SYN包:tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn'
2. 过滤目标端口:and dst port 80
3. 保存后用Wireshark查看Flags字段,确认是否有SYN-ACK响应