Raw Sockets: Two Questions
Eugene Grosbein
eugen at grosbein.net
Wed Mar 21 00:40:03 UTC 2018
21.03.2018 3:09, Ronald F. Guilmette wrote:
> I'm going to be doing some stuff with raw sockets pretty soon, and
> while scrounging around, looking for some nice coding examples, I
> found the following very curious comment on one particular message
> board:
>
> https://stackoverflow.com/questions/7048448/raw-sockets-on-bsd-operating-systems
>
> "Using raw sockets isn't hard but it's not entirely portable. For
> instance, both in BSD and in Linux you can send whatever you want,
> but in BSD you can't receive anything that has a handler (like TCP
> and UDP)."
>
> So, first question: Is the above comment actually true & accurate?
Not for FreeBSD.
> Second question: If the above assertion is actually true, then how can
> nmap manage to work so well on FreeBSD, despite what would appear to be
> this insurmountable stumbling block (of not being able to receive replies)?
nmap uses libdnet that provides some portability layer, including RAW socket operations.
It uses bundled stripped-down version but we have "normal" one as net/libdnet port/package.
You should consider using it too as convenience layer.
More information about the freebsd-net
mailing list