Configuring super sockets
Các quá trình gửi các gói dữ liệu và nhận là khá phức tạp. Như tôi muốn sử dụng giao diện PF_PACKET đi qua netfilter, tôi cũng cần phải thực hiện một đống ARP và ARP cache, và LL stack. Cũng có vẻ như để làm việc, trên Ethernet và giao diện PPP, nhưng tôi không đảm bảo bất cứ điều gì. Dù sao, thực tế tôi đã sử dụng một loại siêu-socket cho rằng có nghĩa là bạn có thể chuyển đổi lớp IO của bạn rất dễ dàng, và sử dụng PF_INET / SOCK_RAW, hoặc sử dụng PF_PACKET ở mức 2 (cho các tiêu đề LL (ethernet, ...) và cho mình địa chỉ mac, ...). Tôi đã chỉ cần thêm một ổ cắm siêu mà sử dụng libdnet và libpcap, do đó nó nên được cầm tay:
>>> conf.L3socket=L3dnetSocket
>>> conf.L3listen=L3pcapListenSocket
>>> conf.L3socket=L3dnetSocket
>>> conf.L3listen=L3pcapListenSocket
Comments
Post a Comment