ArpON (Arp handler inspectiON) is a portable handler daemon with some nice tools to handle all ARP aspects. It has a lot of features and it makes Arp a bit safer. This is possible using two kinds of anti Arp Poisoning tecniques, the first is based on SARPI or "Static Arp Inspection", the second on DARPI or "Dynamic Arp Inspection" approach. Keep in mind other common tools fighting ARP poisoning usually limit their activity only to point out the problem instead of blocking it, ArpON does it using SARPI and DARPI policies. Finally you can use ArpON to pentest some switched/hubbed LAN with/without DHCP protocol, in fact you can disable the daemon in order to use the tools to poison the ARP Cache. However ArpON is also a good tool to a clever sysadmin aware of security related topics. It is a tool born to make Arp secure in order to avoid Arp Spoofing/Poisoning & co. Remember it doesn't affect the communication efficiency of the ARP protocol! Reproducible: Always Ebuild arpon-1.10-r1.ebuild # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils MY_P="ArpON-${PV}" DESCRIPTION="ArpON (Arp handler inspectiON) is a portable Arp handler. It Detects and Blocks all ARP Poisoning/Spoofing attacks with static (SARPI) and dynamic (DARPI) approach on switched/hubbed LAN with/without DHCP protocol." HOMEPAGE="http://arpon.sourceforge.net/" SRC_URI="http://mesh.dl.sourceforge.net/sourceforge/arpon/$MY_P.tar.gz" LICENSE="BSD License" SLOT="0" KEYWORDS="~alpha amd64 hppa ia64 ppc ppc64 sparc x86" IUSE="doc" DEPEND="net-libs/libpcap >=net-libs/libnet-1.1.2.1-r1 dev-libs/libdnet" RDEPEND="net-libs/libpcap >=net-libs/libnet-1.1.2.1-r1 dev-libs/libdnet" S=${WORKDIR}/${MY_P} src_unpack() { unpack ${A} cd "${S}" epatch "${FILESDIR}"/Makefile-arpon-1.10-r1.patch } src_compile() { make || die "make failed" } src_install() { # make install || die " make intall abort" # DESTDIR="${D}" \ # docdir=/usr/share/doc/${PF} # install || die "make install abort" newsbin arpon arpon || die dodoc AUTHORS CHANGELOG INSTALL TODO || die "dodoc failed" } Patch: Makefile-arpon-1.10-r1.patch --- Makefile_orig 2008-06-05 11:00:42.000000000 +0200 +++ Makefile 2008-06-06 16:51:49.000000000 +0200 @@ -1,39 +1,10 @@ SOURCE = arpon.c EXEC = arpon -CFLAGS = -Wall -Werror +CFLAGS += -Wall -LIBS_OSX = -lpcap -ldnet -lnet -L/opt/local/lib/ -I/opt/local/include/ +LIBS_LINUX = -lpcap -ldnet -lnet -L/usr/lib -I/usr/include +LIBS_LINK_LINUX = /usr/lib/libpcap.a /usr/lib/libnet.a /usr/lib/libdnet.a -LIBS_FREEBSD = -lpcap -ldnet -lnet -L/usr/local/lib -I/usr/local/include -L/usr/local/lib/libnet11 -I/usr/local/include/libnet11 -LIBS_LINK_FREEBSD = /usr/lib/libpcap.a /usr/local/lib/libnet11/libnet.a /usr/local/lib/libdnet.a - -LIBS_LINUX = -lpcap -ldnet -lnet -L/usr/local/lib -I/usr/local/include -LIBS_LINK_LINUX = /usr/local/lib/libpcap.a /usr/lib/libnet.a /usr/local/lib/libdnet.a - -arpon: - @echo "" - @echo " Portings avaible:" - @echo " =================" - @echo " - MAC OS X run: make osx" - @echo " - FreeBSD run: make freebsd" - @echo " - GNU/Linux run: make linux" - @echo "" - -osx: $(SOURCE) - gcc $(CFLAGS) $(LIBS_OSX) -o $(EXEC) $(SOURCE) - -freebsd: $(SOURCE) - gcc $(CFLAGS) $(LIBS_FREEBSD) -o $(EXEC) $(SOURCE) $(LIBS_LINK_FREEBSD) - -linux: $(SOURCE) +make: $(SOURCE) gcc $(CFLAGS) $(LIBS_LINUX) -DLINUX -o $(EXEC) $(SOURCE) $(LIBS_LINK_LINUX) - -clean: - rm -f $(EXEC) - -install: - cp $(EXEC) /sbin - -uninstall: - rm -f /sbin/$(EXEC) ChangeLog: # ChangeLog for net-analyzer/arpon # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 # $Header *arpon-1.10-r1 (6 Jul 2008) 6 Jul 2008; G.Bevin <zeld@freaknet.org> ChangeLog : Write Makefile patch. Added initial ChangeLog which should be updated whenever the package is updated in any way. This changelog is targetted to users. This means that the comments should well explained and written in clean English. The details about writing correct changelogs are explained in the skel.ChangeLog file which you can find in the root directory of the portage repository.
[I've left a few comments about the ebuild on #gentoo-it, just to repeat and write it down: - ebuild and patches should be attached, not inlined; - newsbin is used when the file has the wrong name; - duplicating DEPEND/RDEPEND information is not good; - keywords are broken, you should only add ~arch for the arches you can test (anyway devs will probably reset them on commit); - not a good idea to remove OSX/FreeBSD definition as both cases are supported by Gentoo (the former just in prefix); - the changelog is unneeded; and more: - you should use emake not make; - the makefile is broken anyway, it ignores LDFLAGS which is not good and has the wrong order of arguments; - dodoc of INSTALL file is usually useless.
*** Bug 225133 has been marked as a duplicate of this bug. ***
Created attachment 155851 [details] ebuild
Created attachment 155855 [details, diff] Makefile Patch
Created attachment 160109 [details] ArpON 1.40 On amd64 not compile, and u probably get this error: gcc -march=k8 -msse3 -O2 -pipe -Wall -Werror -Wl,-O1 -lpthread -lpcap -ldnet -lnet -L/usr/lib -I/usr/include -DLINUX -o arpon arpon.c cc1: warnings being treated as errors arpon.c: In function ‘sarpi_manager’: arpon.c:1779: warning: ‘arp’ may be used uninitialized in this function make: *** [linux] Error 1 We attend for probably patch or a solution. Anyway try it. There is a Makefile patch. Do not forgot this.
Created attachment 160110 [details] Makefile patch arpon 1.40 Make file patch
Created attachment 160118 [details, diff] arpon 1.40 patch Now arpon compile. The problem of uninizialized pointer is solved. Good test! :) zeld
Created attachment 160571 [details] ebuild correct ebuild. thanks Flameeyes for advice :-)
Created attachment 160573 [details, diff] makefile arpon 1.40-r1 patch Makefile arpon 1.40-r1 patch
Created attachment 160575 [details, diff] arpon 1.40-r1 patch arpon 1.40-r1 patch
Created attachment 162837 [details] arpon 1.50 ebuild This is the 1.50 release of arpon.
Created attachment 162838 [details, diff] arpon 1.50 Makefile patch arpon 1.50 Makefile patch
*** Bug 236626 has been marked as a duplicate of this bug. ***
Version 1.60 is out as of Sep 5 2008.
Version 1.70 is out!
Created attachment 164976 [details] ArpOn 1.70 ebuild ArpON 1.70 ebuild
Created attachment 164978 [details, diff] Makefile arpon 1.70 patch Makefile arpon 1.70 patch
ArpON 1.72 released! arpon include makefile patch now.
Giuseppe, netmon is quite understaffed ATM so I suggest you to maintain ebuild in sunrise overlay: http://overlays.gentoo.org/proj/sunrise/wiki It's really easy to gain access there and with the help of developers you'll make you ebuild much nicer. If you don't like Irc you can contact me by mail or in Jabber (xmpp: pva@jabber.org) and I'll help you to improve ebuild, give you access to overlay and you'll commit it there. Please note the following issues with arpon-1.70.ebuild: 1. Description is too long. Write a metadata.xml with longdescription but keep DESCRIPTION field less than 100 symbols. 2. LICENSE is wrong 3. Please drop KEYWORDS for all architectures you didn't actually tested ebuild on. 4. Use proper indentation: only tabs and only one tab. Most of above (and may be more) issues could be checked with `repoman full` run. So, please, use this tool. BTW, if Giuseppe is not interested in maintaining ebuild there, but somebody else is, then, please, step in )
ArpON is now in the sunrise overlay. You can find it at: http://overlays.gentoo.org/svn/proj/sunrise/reviewed/net-analyzer/ArpON/ For add sunrise overlay you can follow this guide: http://overlays.gentoo.org/proj/sunrise/ At the monent supported arch are sparc, x86 and amd64. For other arch please test it and reported any problems or bug. Thanks Giuseppe Marco Randazzo
maybe it's an idea to give this package an init.d script? I don't know exactly what this program does, but that seems to be useful, considering it's a daemon.
arpon-1.70.ebuild: DESCRIPTION="ArpON (Arp handler inspectiON) is a portable Arp handler. It Detects and Blocks all ARP Poisoning/Spoofing attacks with static (SARPI) and dynamic (DARPI) approach on switched/hubbed LAN with/without DHCP protocol." Description is 215 characters, much too long. The first sentence should suffice and the rest could go into metadata.xml. HOMEPAGE="http://arpon.sourceforge.net/" SRC_URI="http://mesh.dl.sourceforge.net/sourceforge/arpon/$MY_P.tar.gz" Please use mirror://sourceforge for SRC_URI. LICENSE="BSD License" That is not a valid license. Pick the correct one from ${PORTDIR}/licenses. SLOT="0" KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd" I am quite sure you didn't test all those architectures. IUSE="doc" Where is USE=doc used in the ebuild? Also, the kernel_* flags should be in IUSE. DEPEND="net-libs/libpcap >=net-libs/libnet-1.1.2.1-r1 dev-libs/libdnet" RDEPEND="${DEPEND}" S=${WORKDIR}/${MY_P} src_unpack() { unpack ${A} cd "${S}" Better to go EAPI="2" when you're at it and use src_prepare() instead of src_unpack(): epatch "${FILESDIR}"/Makefile-arpon-1.70.patch } src_compile() { if use kernel_linux; then emake linux || die "emake failed" elif use kernel_FreeBSD; then emake freebsd || die "emake failed" fi } src_install() { dosbin arpon doman man8/arpon.8 dodoc AUTHORS CHANGELOG TODO }
*** Bug 346629 has been marked as a duplicate of this bug. ***
+*arpon-2.1 (05 Jan 2011) + + 05 Jan 2011; Markos Chandras <hwoarang@gentoo.org> +arpon-2.1.ebuild, + +metadata.xml: + Moved from sunrise overlay. Thanks to Giuseppe Marco Randazzo + <gmrandazzo@gmail.com>. Bug #225125 + If you want to become proxy maintainer for arpon, please contact me