arp-scan 1.10.0 release notes
Introduction
arp-scan 1.10.0 is a major release that should be fully backwards compatible with arp-scan release 1.9 and 1.9.* git tags.
Thanks to everyone who reported bugs, suggested new features, and sent pull requests over the years. The github community has been the source of the new features and bugfixes in the 1.9.* tagged versions and this 1.10.0 release. So thanks to everyone who created issues and opened pull requests.
This release has been well tested, but some bugs will inevitably remain. If manage to find a bug, please open a github issue.
If you don't have the autotools (autoconf and automake) installed, please download the arp-scan-1.10.0.tar.gz tarball. This contains a ./configure file and the auxilliary files that would normally need autoreconf --install to generate.
Supported Systems
arp-scan version 1.10.0 has been tested on:
- Linux: Tested on debian, ubuntu, alpine. Should work on any Linux distro with any architecture.
- BSD: Tested on FreeBSD, NetBSD, OpenBSD, DragonflyBSD, macOS. Should work on any BSD based system.
- Solaris: Solaris 10. Should work on any DLPI system in theory, but these are rare beasts now.
Please open a github issue if you would like arp-scan to support an operating system that is not listed.
Things to Note for version 1.10.0
- MAC/Vendor mapping file changes
ieee-oui.txtnow holds data for all IEEE registries: MA-L (OUI), MA-M, MA-S (OUI36) and IAB.- The
get-ouiscript now obtains data from all the IEEE registries and concatenates them to formieee-oui.txt. It can easily be edited to use data from the Debianieee-datapackage if you are on a Debian based system. This script now requires the Perl moduleText::CSV. Sorry for adding another dependency. - The
get-iabscript has been removed (replaced with a stub script that prints a message saying it's depreciated, which maintainers may want to omit from their packages) and the--iabfileoption has been removed fromarp-scan. mac-vendor.txtfile now allows regular MAC addresses e.g.00:0c:29:b9:43:1b, and is installed to$(sysconfdir)/$(PACKAGE)e.g. /usr/local/etc/arp-scan. Package maintainers should allow user changes to this file to be preserved on upgrade if that's possible with the distro - upstream changes should be very infrequent in the future.
- arp-scan is POSIX.1e capabilities aware on Linux with
libcaparp-scanwill build with capabilities support iflibcapheader and library are installed (e.g.libcap-devon Debian).configureoption--with-libcap, defaults to auto.- If built with capabilities support the executable will depend on the
libcapshared library (e.g.libcap.so.2).arp-scan --versionwill reportBuilt with libcap POSIX.1e capability supportif support is included. make installwill installsetcap cap_net_raw+pif thesetcapcommand is available (e.g.libcap2-binon Debian) and works, otherwise it will fallback to SUID. If you want to change this behaviour, comment out or edit theinstall-exec-hookinMakefile.am.- See
NEWS.mdfile for more details of POSIX.1e capabilities support.
- Lots of new features, bugs squashed and corner cases fixed - See
NEWS.mdfor details
Main Changes since arp-scan 1.9
This section lists the main changes between arp-scan version 1.9 and 1.10.0. More details are available in the NEWS.md and ChangeLog files.
2022-12-10 arp-scan 1.10.0 (git tag 1.10.0)
-
New Features
- POSIX.1e capabilities support for Linux systems with libcap
- New
--formatoption allows flexible output format ieee-oui.txtnow holds data for all IEEE registries: MA-L (OUI), MA-M, MA-S (OUI36) and IAB.
-
General improvements
- Reformatted and updated man pages and
--helpoutput.
- Reformatted and updated man pages and
2022-10-08 arp-scan 1.9.8 (git tag 1.9.8)
-
New Features:
- Allow the use of Linux IP aliases such as
eth0:0for the interface name. - Permit regular MAC addresses e.g.
00:0c:29:b9:43:1binmac-vendor.txt. --limit=noption exits after n of hosts have responded, exit 1 for <n--resolveoption to resolve responding IP addresses to hostnames
- Allow the use of Linux IP aliases such as
-
Fixed bugs:
- Potential buffer overrun in
unmarshal_arp_pkt(). - arp-scan aborts with
EAGAINon busy network or using high bandwidth - late ARP responses could sometimes be incorrectly flagged as duplicate
- Potential buffer overrun in
-
General improvements:
- Updated IEEE URLs in download perl scripts.
- Updated source for Mersenne RNG and replacement strlcat/strlcpy & getopt.
- Updated for compatability with autoconf 2.71
make distcheckworks now- Number of responding hosts reported no longer counts duplicate packets.
- Several edge cases fixed.
-
Misc Changes:
- CI framework migrated from travis-ci to github actions.
- Several new tests for
make check
2019-11-10 arp-scan 1.9.7
- Improved error messages from libpcap functions.
- Remove obsolescent and unused autoconf macros. Assume the C compiler is ANSI C (C89) compliant.
2019-10-13 arp-scan 1.9.6
- Use libpcap function
pcap_set_immediate_mode()instead of ioctl calls to ensure packets are delivered immediately. - Fix compiler warnings caused by the depreciated function
pcap_lookupdev()in libpcap 1.9.0 and later.
2016-09-03 arp-scan 1.9.5
-
Use posix hash table functions
hcreate(),hsearch()andhdestroy()instead of the gas hash table code. Thanks to nihilus for the suggestion. -
Remove function replacement for
inet_aton(), as this was only required for Solaris 8, which is now considered obsolete. -
Added
-loption to arp-fingerprint to support fingerprinting all hosts on the local network. Thanks to Rhig for the pull request. -
Use the
source_macrather thaninterface_macin the pcap filter, to permit reception of packets with spoofed MAC source address. Thanks to tissieres for the pull request. -
Use the libpcap 1.0 API functions
pcap_create()instead ofpcap_open_live().
2013-11-24 arp-scan 1.9.2
-
Added new
--plain(-x)option to suppress printing of header and footer text, and only display one output line for each responding host. Idea from Stefan Tomanek's arp-scan fork on github at https://github.com/wertarbyte/arp-scan. -
Use
LWP::UserAgentinstead ofLWP::Simplein get-oui and get-iab to enable the raw content to be obtained, which avoids Unicode/UTF-8 issues. -
Moved arp-scan development from internal SVN repository to github at https://github.com/royhills/arp-scan.