tcpdump抓包分析

tcpdump是功能强大的命令行网络抓包分析工具,特别适合在服务器或无图形界面的环境中使用。掌握其核心用法能高效定位网络问题。

这里总结了从基础到进阶的核心命令速查表:

能力分类 常用命令示例 作用说明
基础抓包 tcpdump -i eth0 在eth0网卡上抓包并实时显示。
tcpdump -i any 抓取所有网卡的流量。
主机/网络过滤 tcpdump host 10.0.0.1 抓取与主机10.0.0.1相关的所有流量。
tcpdump net 192.168.1.0/24 抓取整个网段的流量。
端口过滤 tcpdump port 80 抓取端口80的流量(如HTTP)。
tcpdump src port 12345 抓取源端口 为12345的流量。
协议过滤 tcpdump icmp 抓取ICMP流量(如ping)。
tcpdump arp 抓取ARP协议流量。
逻辑组合 tcpdump 'host 10.0.0.1 and port 80' 抓取主机10.0.0.1在80端口的流量。
tcpdump 'src net 192.168.1.0/24 and not dst port 22' 抓取来自该网段且目标不是SSH端口的流量。
高级筛选 `tcpdump 'tcptcpflags & (tcp-syn tcp-fin) != 0'`
tcpdump 'src 10.0.0.1 and greater 1000' 抓取来自10.0.0.1且长度大于1000字节的包。
输出控制 tcpdump -n 禁用主机名解析,显示IP,提升速度且清晰。
`tcpdump -l tee file.log`
tcpdump -w file.pcap 原始数据包 保存为pcap文件,供Wireshark详细分析。
tcpdump -r file.pcap 读取 并分析已保存的pcap文件。

📝 详细使用场景与技巧

1. 基础抓包与查看

  • tcpdump -D:列出所有可用网卡。
  • tcpdump -i eth0 -c 10 :在eth0网卡上抓取10个包后自动停止。
  • tcpdump -i any -c 50 -nn :抓取所有网卡的前50个包,不进行主机名和端口号解析 (-nn),效率最高、最准确。

2. 解读输出格式

一个典型的TCP输出如下:
10:20:30.123456 IP 192.168.1.100.54321 > 203.0.113.1.80: Flags [S], seq 1234567890, win 64240, options [mss 1460], length 0

  • 10:20:30.123456:时间戳。
  • IP:网络层协议。
  • 192.168.1.100.54321 >:源IP和源端口。
  • 203.0.113.1.80::目标IP和目标端口。
  • Flags [S] :TCP标志位,[S]是SYN(发起连接),[.]是ACK,[P]是PSH(推送数据),[F]是FIN(结束连接),[R]是RST(重置连接)。
  • seq 1234567890:序列号。
  • length 0:数据段长度。

3. 保存与分析
强烈建议 将复杂分析保存为pcap文件,用Wireshark进行图形化深入分析。

  • tcpdump -i eth0 -w capture.pcap :将原始数据包保存到capture.pcap。
  • tcpdump -r capture.pcap -nn 'tcp.port == 80':从文件中读取并过滤出80端口的流量。

4. 实用命令组合

  • 抓取HTTP GET请求 :
    tcpdump -i eth0 -s 0 -A 'tcp port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
    (0x47455420 是 "GET " 的16进制)
  • 抓取DNS查询 :
    tcpdump -i eth0 -nn 'udp port 53'
  • 排除自身SSH连接干扰 :
    tcpdump -i eth0 'not (src host 你的IP and dst port 22) and not (dst host 你的IP and src port 22)'

💡 核心建议

  1. 权限 :tcpdump需要root权限,通常需加sudo。
  2. 从简开始 :先用-c限制包数,用-nn避免解析,快速验证命令。
  3. 组合使用 :复杂过滤用单引号''括起,逻辑运算符and、or、not灵活组合。
  4. 最终武器 :-w保存,-r读取,结合Wireshark进行深度分析是黄金组合。
相关推荐
聪明蛋子哟11 小时前
大模型应用“最后一公里”:从Prompt工程到MCP协议,如何实现跨系统的高可用集成?
网络·prompt
科创致远12 小时前
ESOP 电子作业指导书 WiFi 网络应用实测报告
运维·服务器·网络
承渊政道12 小时前
Linux网络学习【从NAT与代理服务理解网络转发、探索内网穿透原理、再到认识DNS与ICMP、最后动手部署并测试内网穿透】
linux·网络·学习·内网穿透·dns·nat
最强小杰12 小时前
minimax-m3 突然报 HTTP 529 怎么办?连续重试为何更难恢复,退避时间该怎么算?
网络·网络协议·http·ai
程序员清风12 小时前
AI 编程助手的权限边界:文件、命令、密钥与人工确认
运维·服务器·网络
别讲概念13 小时前
JavaEE(5)网络原理初识
网络·java-ee·智能路由器
笔绘丹心13 小时前
测试工程师的 BLE 抓包实战:从开关到 Wireshark 逐帧解读(红米/小米避坑版)
wireshark·抓包·ble
爱吃香菜的初学者13 小时前
十九.Linux——TCP协议(1)
linux·网络·tcp/ip
好啊好啊郝!14 小时前
计算机网络最基础知识点
服务器·网络·计算机网络
辰辰观影14 小时前
外挂字幕怎么导入播放器?2026实用教程
网络