tcpdump-抓包


tcpdump 是一个在 Unix/Linux 系统上用于抓取和分析网络数据包的命令行工具。它能够捕获网络接口上的数据包,并将它们以各种形式进行显示或保存。以下是一些常见的 tcpdump 用法:

  1. 基本用法:
  2. 抓取指定网络接口上的所有数据包: bash sudo tcpdump -i eth0
  3. 这将捕获 eth0 接口上的所有数据包。

  4. 指定协议:

  5. 指定抓取特定协议的数据包,例如,只抓取TCP协议的数据包: bash sudo tcpdump -i eth0 tcp

  6. 指定端口:

  7. 指定抓取特定端口的数据包,例如,只抓取目标端口为80的数据包: bash sudo tcpdump -i eth0 port 80

  8. 保存到文件:

  9. 将抓取的数据包保存到文件中,以便稍后分析: bash sudo tcpdump -i eth0 -w output.pcap 后续可以使用 Wireshark 或其他工具打开 output.pcap 文件进行分析。

  10. 显示ASCII和十六进制:

  11. 显示每个数据包的 ASCII 和十六进制表示: bash sudo tcpdump -i eth0 -X

  12. 显示时间戳:

  13. 显示每个数据包的时间戳: bash sudo tcpdump -i eth0 -tttt

  14. 过滤器:

  15. 使用过滤器来捕获符合特定条件的数据包,例如,只抓取源IP地址为192.168.1.1的数据包: bash sudo tcpdump -i eth0 src host 192.168.1.1

  16. 显示DNS查询:

  17. 显示 DNS 查询和响应: bash sudo tcpdump -i eth0 udp port 53

请注意,使用 tcpdump 需要具有足够的权限,通常需要使用 sudo 或在 root 用户下运行。此外,根据系统和网络配置,可能需要安装 tcpdump