tcpdump相关

56 阅读2分钟
  1. 抓包
sudo tcpdump -i ens33 -w video_stream.pcap tcp -nn -s 0
  1. 参数解析

1. sudo

  • 含义:以超级用户(root)权限执行命令。
  • 原因:tcpdump 捕获网络数据包需要访问网络接口的底层权限,普通用户通常没有此权限,因此需要 sudo 提升权限。

2. tcpdump

  • 含义:命令本身,是一款强大的网络抓包工具,用于捕获和分析网络数据包。

3. -i ens33

  • 含义:指定要监听的网络接口为 ens33
  • 说明-i(interface)参数用于选择抓包的网卡,ens33 是常见的网卡名称(如虚拟机中的网卡),若不指定 -i,tcpdump 会选择默认的网络接口。

4. -w video_stream.pcap

  • 含义:将捕获的数据包保存到文件 video_stream.pcap 中,而不是在终端实时显示。
  • 说明-w(write)参数用于将数据包写入文件,.pcap 是数据包捕获文件的标准格式,可后续用 Wireshark 等工具分析。

5. tcp

  • 含义:仅捕获 TCP 协议的数据包。
  • 说明:作为过滤条件,只筛选 TCP 协议的流量(如 HTTP、HTTPS、FTP 等基于 TCP 的协议),忽略 UDP、ICMP 等其他协议。

6. -nn

  • 含义:双重禁用名称解析。

    • 第一个 n:禁用 IP 地址到主机名的解析(即不显示域名,只显示 IP)。
    • 第二个 n:禁用端口号到服务名的解析(即不显示 80 对应 http,只显示端口号)。
  • 说明:使用 -nn 可加快抓包速度(避免 DNS 查询),并直接显示原始的 IP 和端口号,更适合调试。

7. -s 0

  • 含义:设置捕获的数据包长度为完整长度(snaplen)。
  • 说明-s(snaplen)参数指定每个数据包捕获的字节数,0 表示捕获整个数据包(默认可能只捕获前 68 或 96 字节),确保获取完整的数据包内容(尤其对大数据包如视频流很重要)。