Howto send a limited broadcast?
Boris Kochergin
spawk at acm.poly.edu
Mon Apr 14 02:28:28 UTC 2008
tmm wrote:
> Boris Kochergin wrote:
>> tmm wrote:
>>>
>>>
>>> Bruce M. Simpson wrote:
>>>> tmm wrote:
>>>>> So, can anyone suggest how I can send a limited broadcast (on an
>>>>> interface that has been initalized with an IP and a subnet)?
>>>>
>>>> Use the IP_ONESBCAST option and send to the network broadcast
>>>> address for that subnet. The stack will change it into
>>>> 255.255.255.255 on output. See man page ip(4) for details.
>>>>
>>>> It's a hack, but it's largely due to how the stack has worked
>>>> historically.
>>>>
>>>> BMS
>>> Thanks. I wasn't aware of that option.
>>>
>>> But now I find that this option is not present in my (eCos port of)
>>> FreeBSD stack. Either it was removed during the port, or the ported
>>> version is too old.
>>>
>>> Perhaps the best thing for me to do is to look at the 'normal'
>>> FreeBSD stack (as opposed to the eCos one) and see how IP_ONESBCAST
>>> is implemented. Then perhaps I could do the same thing in my
>>> FreeBSD stack.
>>>
>>> Is there a way for me to download the FreeBSD source code without
>>> actually downloading, burning, and installing FreeBSD? Looking
>>> around the FreeBSD website I don't see a source download link.
>>>
>>> thanks,
>>> Tom.
>>> _______________________________________________
>>> freebsd-net at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>> You can get them via CVS:
>> http://www.freebsd.org/doc/en/books/handbook/cvsup.html.
>>
>> Also, although it, too, may be considered hacky, if the system you're
>> working on has pcap(3), you could just manually craft the broadcast
>> frame and send it out the interface yourself. I can provide some
>> sample code.
>>
>> -Boris
> Yes, that is what I was looking for - I'll use cvsup/csup to get the
> sources.
>
> I don't have pcap, but I do have access to the lower layers of the
> stack, so yes, I would be interested in seeing your code. Doing
> something like that might turn out to be a better solution for me.
>
> Thanks a lot.
> Tom.
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
http://acm.poly.edu/~spawk/arpCounterattack.tbz
That's some code I wrote a while ago that detects ARP attacks against a
configured set of IP/Ethernet address pairs on broadcast networks, and
sends out gratuitous ARP requests in an attempt to correct the
situation. The relevant function here is sendGratuitousARPRequest() in
arpCounterattack.hpp. It constructs a gratuitous ARP frame and sends it
out the configured interface.
-Boris
More information about the freebsd-net
mailing list