Date: Wed, 21 Mar 2018 07:39:33 +0700 From: Eugene Grosbein <eugen@grosbein.net> To: "Ronald F. Guilmette" <rfg@tristatelogic.com>, freebsd-net@freebsd.org Subject: Re: Raw Sockets: Two Questions Message-ID: <5AB1A9C5.9050707@grosbein.net> In-Reply-To: <98551.1521576540@segfault.tristatelogic.com> References: <98551.1521576540@segfault.tristatelogic.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5AB1A9C5.9050707>