This topic created in 4015 days ago, the information mentioned may be changed or developed.
Supplement 1 · May 25, 2015
FreeBSD takes another approach. It *never* passes TCP or UDP packets to raw
sockets. Such packets need to be read directly at the datalink layer by using
libraries like libpcap or the bpf API. It also *never* passes any fragmented
datagram. Each datagram has to be completeley reassembled before it is passed
to a raw socket.
FreeBSD passes to a raw socket:
a) every IP datagram with a protocol field that is not registered in
the kernel
b) all IGMP packets after kernel finishes processing them
c) all ICMP packets (except echo request, timestamp request and address
mask request) after kernel finishes processes them
2 replies • 2018-10-25 00:12:15 +08:00
 |
|
1
auser May 25, 2015 via Android
可以在内核里头写扩展抓 ╯﹏╰
|
 |
|
2
autogen Oct 25, 2018
macOS 下居然能发 raw ip 包,不会[Error 22] invalid argument 吗
|