我正在尝试为过滤器阅读一些 BPF 语法,以尝试弄清楚它的作用。我找不到的一件事是“字节偏移量的开始”。意思是,如果我们有以下汇编代码:
0000: 0x28 0x00 0x00 0x00000004 ldh $data[4]
0001: 0x15 0x00 0x61 0x00000028 jeq 40 true:0002 false:0099
0002: 0x30 0x00 0x00 0x0000000d ldb $data[13]
0003: 0x14 0x00 0x00 0x00000033 sub 51
0004: 0x15 0x00 0x5e 0x00000006 jeq 6 true:0005 false:0099
- 问题 1
对于字节偏移量 4,这是否将我置于 802.3 帧的目标 MAC 地址的中间?还是在序言中?我从数据包的哪个位置开始,然后走 4 个字节到我的半字,这就是我要问的。
- 问题2
如果它在 MAC 地址中,scapy 是否是编写我自己的数据包的以太网帧的可行选项?这样做的目标是编写一个连接并通过所有 BPF 要求的客户端。