TCP 原始数据包抓取详解
🚀 抓包流程
🔍 网络接口查看
查看可用的网络接口
# 查看网络接口信息
ifconfig
# 或者使用ip命令
ip addr show
常见网络接口:
wlan0- WiFi接口rmnet0- 移动数据接口eth0- 以太网接口lo- 回环接口
🎯 tcpdump命令详解
核心抓包命令
# 基本抓包命令
tcpdump -i <interface_name> -s 0 -w /sdcard/capture.pcap
参数说明:
-i <interface_name>- 指定网络接口(如wlan0)-s 0- 捕获完整数据包(不截断)-w filename- 将数据写入文件/sdcard/capture.pcap- 输出文件路径
📝 实际操作示例
# 示例1:抓取WiFi接口的所有数据包
tcpdump -i wlan0 -s 0 -w /sdcard/wifi_capture.pcap
# 示例2:抓取特定端口的数据包
tcpdump -i wlan0 -s 0 port 80 -w /sdcard/http_capture.pcap
# 示例3:抓取特定主机的数据包
tcpdump -i wlan0 -s 0 host 192.168.1.1 -w /sdcard/host_capture.pcap🔧 高级技巧
🎛️ tcpdump过滤器
常用过滤条件
# 只抓取TCP协议
tcpdump -i wlan0 tcp -w tcp_only.pcap
# 抓取特定端口范围
tcpdump -i wlan0 portrange 80-443 -w web_traffic.pcap
# 抓取来自/到特定IP的数据包
tcpdump -i wlan0 src 192.168.1.100 -w from_host.pcap
tcpdump -i wlan0 dst 192.168.1.100 -w to_host.pcap
# 组合条件(HTTP和HTTPS流量)
tcpdump -i wlan0 'port 80 or port 443' -w web_all.pcap🐛 常见问题排查
🔴 权限问题
问题:Permission denied
解决方案:
- 确保设备已获得Root权限
- 使用
su命令切换到超级用户 - 检查tcpdump工具是否正确安装
🟡 接口不存在
问题:指定的网络接口不存在
解决方案:
使用ifconfig或ip addr命令查看实际可用的网络接口名称
🔗 相关工具
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 crowforkotlin!
评论