pcap文件格式是bpf保存原始数据包的格式,很多软件都在使用,比如tcpdump、wireshark等等,了解pcap格式可以加深对原始数据包的了解,自己也可以手工构造任意的数据包进行测试。
pcap文件的格式为:
文件头 24字节
数据包头 + 数据包 数据包头为16字节,后面紧跟数据包
数据包头 + 数据包 ……
pcap.h里定义了文件头的格式
看一下各字段的含义:
magic: 4字节 pcap文件标识 目前为“d4 c3 b2 a1”
major: 2字节 主版本号 #define PCAP_VERSION_MAJOR 2
minor: 2字节 次版本号 #define PCAP_VERSION_MINOR 4
thiszone:4字节 时区修正 并未使用,目前全为0
sigfigs: 4字节 精确时间戳 并未使用,目前全为0
snaplen: 4字节 抓包最大长度 如果要抓全,设为0x0000ffff(65535),
tcpdump -s 0就是设置这个参数,缺省为68字节
linktype:4字节 链路类型 一般都是1:ethernet
常用链路类型:
0BSD loopback devices, except for later OpenBSD
1Ethernet, and Linux loopback devices
6802.5 Token Ring
7ARCnet
8SLIP
9PPP
10FDDI
100 LLC/SNAP-encapsulated ATM
101 "raw IP", with no link
102 BSD/OS SLIP
103 BSD/OS PPP
104 Cisco HDLC
105 802.11
108 later OpenBSD loopback devices (with the AF_value in network byte order)
113 special Linux "cooked" capture
114 LocalTalk
=======================================================================================
| magic |major | minor | thiszone | sigfigs | snaplen | linktype
| d4 c3 b2 a1 | 02 00 | 04 00 | 00 00 00 00 | 00 00 00 00 | ff ff 00 00 | 01 00 00 00
=======================================================================================
数据包头的格式
ts: 8字节 抓包时间 4字节表示秒数,4字节表示微秒数
caplen:4字节 保存下来的包长度(最多是snaplen,比如68字节)
len: 4字节 数据包的真实长度,如果文件中保存的不是完整数据包,可能比caplen大
了解了pcap文件格式,就可以自己手工构造任意数据包了,可以以录好的包为基础,
构建pcap文件示例:
含有两套构建方法, 因起先不知道可以通过pcap_open_dead & pcap_dump_open 构建文件头, 所以开始是自己创建一个文件并写入文件头.
编译 & 链接
# gcc pcap_write.c -o pcap_write -lpcap
分享到:
相关推荐
adb shell /data/local/tcpdump/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap adb pull /sdcard/capture.pcap . TCPdump下载地址http://www.strazzere.com/android/tcpdump Wireshark下载地址 ...
通过tcpdump或者wireshark抓到的包通常是rtp流,保存为.pcap格式文件后中,可通过wireshark进行解析,得出h264裸流,并保存为文件。 我这里有一段rtp流文件,作为演示使用(这个文件有点不标准,一般一个nal打一个...
5.抓包文件保存在/sdcard/目录下,文件格式为.pcap 6.所抓取的数据包可以直接打开分析或者在电脑上使用Wireshark打开分析 7.注意在抓包过程中不要切换网络,否则会导致切换后的网络访问无法被抓取 ADB命令示例: adb ...
需要在Android手机上抓包,最常用的抓包工具非tcpdump莫属,用tcpdump生成Wireshark识别的 pcap文件,然后将pcap文件下载到电脑上,用电脑上的Wireshark加载pcap文件,通过Wireshark分析tcpdump抓取的数据。...
抓包大师是一款非常简洁的Android抓包工具,让您...3.在PC上以命令行方式下载tcpdump包 D:\tmp>adb pull /sdcard/pcap/ ./local_dir 4.在PC上直接用Wireshark软件打开下载下来的pcap包,即可使用Wireshark进行分析
5.抓包文件保存在/sdcard/目录下,文件格式为.pcap 6.所抓取的数据包可以直接打开分析或者在电脑上使用Wireshark打开分析 7.注意在抓包过程中不要切换网络,否则会导致切换后的网络访问无法被抓取 ADB命令示例: adb ...
抓包大师是一款非常简洁的Android抓包工具,让您随心所欲地抓取...3.在PC上以命令行方式下载tcpdump包 D:\tmp>adb pull /sdcard/pcap/ . 4.在PC上直接用Wireshark软件打开下载下来的pcap包,即可使用Wireshark进行分析
纯 Verilog 模块通过单字节总线重放来自 Wireshark/tcpdump pcap 文件的数据包,用于网络处理测试平台。 小脚趾(合成器) 基本的 1G 线速、只读 MAC/IP/TCP 堆栈,用于在数据级别跟踪特定的 TCP 会话。 也称为 ...
安卓手机网络抓包工具,必须root,抓包后生成网络文件,可用wireshark进行tcp链接分析。必须放在rom里面加可执行能力。常用命令: /data/local/tmp/tcpdump -i wlan0 -p -vv -s 0 -w /mnt/sdcard/apollo/in.pcap ...
为了成功编译Wireshark,您需要安装GTK+的开发文件和GLib库(libraries)。 $sudo apt-get install libgtk2.0-dev libglib2.0-dev 安装Checkinstall以便管理您系统中直接由源代码编译安装的软件。 $sudo ...
使用tcpdump抓包工具,抓包“https get请求百度主页”,生成的capture.pcap文件。 该文件可用wireshark打开,查看和学习 DNS解析步骤、TCP三次握手、TSL握手和秘钥协商 等过程
wireshark命令行工具 - text2pcap 1. 抓包接口类示例: -i 设置抓包的网络接口,不设置则默认为第一个非自环接口。 -D 列出当前存在的网络接口。在不了解OS所控制的网络设备时,一般先用 “tshark-D”查看网络接口...
工具内容包括adb和tcpdump,需要先把tcpdump单个文件放置于安卓设备目录下赋予777权限后,在adb shell下输入命令:./data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap截取包。截取的包可以在PC端用wireshark...
为了成功编译Wireshark,您需要安装GTK+的开发文件和GLib库(libraries)。 $sudo apt-get install libgtk2.0-dev libglib2.0-dev 安装Checkinstall以便管理您系统中直接由源代码编译安装的软件。 $sudo ...
纯C#编写的基于SharpCap的数据包捕捉/监听程序,可以将TCP数据包存为wireshark的pcap格式。
TRAFFIC_SECRET_0 EXPORTER_SECRET必需的iOS 13.3.1 使用Mobile Substrate越狱建议的rvictl(连接iOS设备) tcpdump(捕获数据包) Wireshark(解密pcaps)使用情况rvictl -s UDID tcpdump -i rvi0 -w capture.pcap ...
这组Python脚本可让您将pcap , pcapng或pdml 5G协议跟踪( Wireshark , tcpdump ,...)转换为SVG序列图。 鉴于我们需要考虑以下因素,它诞生于将5G迹线自动转换为可读性的需求: 用于5G trace_visualizer的...
使用内核的netpoll API发送低级别的数据包(tcpdump / pcap / wireshark等不可见) 这不适用于所有网络接口(无无线,无环回,无USB以太网等) 编辑源文件以包含正确的IP地址,然后在远程端启动侦听器 nc -l -u -...
读/写许多不同的捕获文件格式:TCPdump(Libpcapc)、PCAP NG、Catapult DCT 2000、Cisco安全IDS iplog、Microsoft网络监视器、网络通用嗅探器(压缩和未压缩)、Sniffer Pro和NetXray、网络仪器观察者、NetScreen ...