# Install arping with Homebrew, apk, apt, MacPorts, Nix

Utility to check whether MAC addresses are already taken on a LAN. Version 2.29 via Homebrew; verified 2026-06-28.

## Install

```sh
sudo av install brew:arping
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install arping
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install arping
```

  Evidence: MacPorts ports tree: net/arping/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add arping
```

  Evidence: Alpine Linux edge package indexes: arping from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install arping
```

  Evidence: Debian stable package indexes: arping from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#arping
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ar/arping/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:arping
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/arping>
- **Version:** 2.29
- **Source summary:** Utility to check whether MAC addresses are already taken on a LAN
- **Homepage:** <https://github.com/ThomasHabets/arping>
- **Repository:** <https://github.com/ThomasHabets/arping>
- **Upstream docs:** <https://github.com/ThomasHabets/arping#readme>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/ThomasHabets/arping/archive/refs/tags/arping-2.29.tar.gz>
- **Last updated:** 2026-06-28T17:40:20Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- arping (cli)
- arping (alias)

## Dependencies

- libnet

## Build dependencies

- autoconf
- automake

## Uses from macOS

- libpcap

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.29
- Package-manager updated: 2026-06-28
- Local data: ok
- Upstream repository: https://github.com/ThomasHabets/arping
- Upstream latest detected: arping-2.29 (current)
## Project history and usage

ARP Ping, usually packaged as `arping`, is Thomas Habets' LAN diagnostic utility for sending ARP and ICMP-style pings to hosts. It is aimed at discovering whether an IPv4 address is already taken, mapping IPs and MACs, and diagnosing local-link problems where ordinary `ping` is not enough.

### Project history

The current upstream repository's default branch is `arping-2.x`, while an `arping-1.x` branch remains visible. The README explains that Arping 1.x was finally removed from the Arping 2.x tarball in 2.09, leaving older 2.08-and-earlier packages as the path for libnet 1.0.x users.

The manual page is dated June 21, 2003 and documents the classic behavior: send ARP requests for IP targets, directed broadcast ICMP echo requests for MAC targets, and print replies. The current build metadata identifies version 2.29 and requires libnet 1.1 or newer plus libpcap, with optional Linux privilege-dropping support through libcap/seccomp-related checks.

### Adoption history

arping's adoption comes from a small but persistent network-admin niche: it answers questions that IP `ping` cannot answer, especially before assigning an address, on networks where ICMP is filtered, or when a MAC address is known but the IP address is not.

The supplied package facts show it in Homebrew, Debian, Ubuntu, MacPorts, Nix, apk, and other Unix-like package collections. That breadth is typical for compact diagnostic tools whose behavior is simple, scriptable, and useful during installation, DHCP, address-conflict, and appliance-discovery work.

### How it is used

The README's core example is checking whether an address is taken on a LAN before using it. The manpage documents `-c` for counts, `-i` for interface selection, `-d` for duplicate replies, raw output modes, broadcast/source-address options, unsolicited ARP with `-U`, VLAN tagging, and seccomp toggles.

Unlike `arp-scan`, which sweeps ranges, Thomas Habets' arping is centered on targeted ARP/MAC/IP probes. It can ping by IP to get a MAC, ping by MAC to get an IP when hosts respond to broadcast pings, and send unsolicited ARP to update neighbors' ARP caches.

### Why package nerds care

arping is a classic example of a tiny network utility with a complicated name space: several unrelated projects and operating systems have shipped commands named `arping`. This package's identity is the Thomas Habets implementation, so the official GitHub repo and README are important disambiguators.

Its dependency split also matters to packagers: Arping 2.x requires libnet 1.1+, while the older 1.x line existed for libnet 1.0.x users.

### Timeline

- 2003: Manual page dated June 21 documents arping behavior and options.
- 2.09: Arping 1.x removed from the Arping 2.x tarball and autotools build system introduced.
- 2.29: Current version recorded in configure.ac.

### Related projects

- libnet is used for packet construction.
- libpcap is used for packet capture.
- arp-scan is a range-scanning cousin rather than the same tool.
- iputils has shipped a different `arping` implementation on Linux.

### Sources

- <https://github.com/ThomasHabets/arping#readme>
- <https://raw.githubusercontent.com/ThomasHabets/arping/arping-2.x/INSTALL>
- <https://raw.githubusercontent.com/ThomasHabets/arping/arping-2.x/configure.ac>
- <https://raw.githubusercontent.com/ThomasHabets/arping/arping-2.x/doc/arping.8>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** arping
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - arping - 2.25-1: normalized package name match | Debian stable package indexes: arping from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | sends IP and/or ARP pings (to the MAC address) | https://www.habets.pp.se/synscan/programs.php?prog=arping
- Nix - arping: normalized package name match | nixpkgs package indexes: pkgs/by-name/ar/arping/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - arping - 2.24-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: arping from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | sends IP and/or ARP pings (to the MAC address) | https://www.habets.pp.se/synscan/programs.php?prog=arping
- apk - arping - 2.28-r0: normalized package name match | Alpine Linux edge package indexes: arping from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | An ARP ping utility | https://www.habets.pp.se/synscan/programs_arping.html
- apk - arping-doc - 2.28-r0: normalized package name match | Alpine Linux edge package indexes: arping-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | An ARP ping utility (documentation) | https://www.habets.pp.se/synscan/programs_arping.html
- MacPorts - arping: normalized package name match | MacPorts ports tree: net/arping/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [libnet](https://www.automicvault.com/pkg/brew/libnet/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [arp-scan](https://www.automicvault.com/pkg/brew/arp-scan/) - Shares av.db curated category or tags: arp, cli, networking.
- [asn](https://www.automicvault.com/pkg/brew/asn/) - Shares av.db curated category or tags: cli, network, networking.
- [asnmap](https://www.automicvault.com/pkg/brew/asnmap/) - Shares av.db curated category or tags: cli, network, networking.
- [asroute](https://www.automicvault.com/pkg/brew/asroute/) - Shares av.db curated category or tags: cli, network, networking.
- [activemq](https://www.automicvault.com/pkg/brew/activemq/) - Shares av.db curated category or tags: cli, networking.
- [adns](https://www.automicvault.com/pkg/brew/adns/) - Shares av.db curated category or tags: cli, networking.
- [aerleon](https://www.automicvault.com/pkg/brew/aerleon/) - Shares av.db curated category or tags: cli, networking.
- [ahcpd](https://www.automicvault.com/pkg/brew/ahcpd/) - Shares av.db curated category or tags: cli, networking.
- [tcptraceroute](https://www.automicvault.com/pkg/brew/tcptraceroute/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, libnet, network, networking.
- [udp2raw-multiplatform](https://www.automicvault.com/pkg/brew/udp2raw-multiplatform/) - Local package facts share a topical domain. Shared terms: cli, libnet, networking.

## Combined YAML source

View the package source record on GitHub. [combined/arping.yml](https://github.com/automic-vault/db/blob/main/combined/arping.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
