- 抓包
sudo tcpdump -i ens33 -w video_stream.pcap tcp -nn -s 0
- 参数解析
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 字节),确保获取完整的数据包内容(尤其对大数据包如视频流很重要)。