Accept ARP requests with an ethernet trailer, but trim it
This commit is contained in:
@@ -156,8 +156,8 @@ farp_spoofer_t *farp_spoofer_create(farp_listener_t *listener)
|
|||||||
BPF_STMT(BPF_LD+BPF_H+BPF_ABS, offsetof(arp_t, opcode)),
|
BPF_STMT(BPF_LD+BPF_H+BPF_ABS, offsetof(arp_t, opcode)),
|
||||||
BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ARPOP_REQUEST, 0, 3),
|
BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ARPOP_REQUEST, 0, 3),
|
||||||
BPF_STMT(BPF_LD+BPF_W+BPF_LEN, 0),
|
BPF_STMT(BPF_LD+BPF_W+BPF_LEN, 0),
|
||||||
BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 28, 0, 1),
|
BPF_JUMP(BPF_JMP+BPF_JGE+BPF_K, sizeof(arp_t), 0, 1),
|
||||||
BPF_STMT(BPF_RET+BPF_A, 0),
|
BPF_STMT(BPF_RET+BPF_K, sizeof(arp_t)),
|
||||||
BPF_STMT(BPF_RET+BPF_K, 0),
|
BPF_STMT(BPF_RET+BPF_K, 0),
|
||||||
};
|
};
|
||||||
struct sock_fprog arp_request_filter = {
|
struct sock_fprog arp_request_filter = {
|
||||||
|
|||||||
Reference in New Issue
Block a user