From owner-freebsd-net@FreeBSD.ORG Mon Apr 14 02:28:28 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B142F106566C for ; Mon, 14 Apr 2008 02:28:28 +0000 (UTC) (envelope-from spawk@acm.poly.edu) Received: from acm.poly.edu (acm.poly.edu [128.238.9.200]) by mx1.freebsd.org (Postfix) with ESMTP id 647A28FC21 for ; Mon, 14 Apr 2008 02:28:28 +0000 (UTC) (envelope-from spawk@acm.poly.edu) Received: (qmail 12520 invoked from network); 14 Apr 2008 02:28:26 -0000 Received: from unknown (HELO ?192.168.0.2?) (spawk@69.123.45.64) by acm.poly.edu with AES256-SHA encrypted SMTP; 14 Apr 2008 02:28:26 -0000 Message-ID: <4802C140.9020304@acm.poly.edu> Date: Sun, 13 Apr 2008 22:28:16 -0400 From: Boris Kochergin User-Agent: Thunderbird 2.0.0.9 (X11/20071208) MIME-Version: 1.0 To: tmm References: <4800E2D5.20107@fastmail.fm> <480147C7.6090107@FreeBSD.org> <48017958.8020302@fastmail.fm> <4801A0F8.1060002@acm.poly.edu> <48022162.4030601@fastmail.fm> In-Reply-To: <48022162.4030601@fastmail.fm> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: Howto send a limited broadcast? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Apr 2008 02:28:28 -0000 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@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-net >>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@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