Alpine Linux Network Tools #
Busybox Network Tools #
Alpine Linux employs
BusyBox to provide essential network tools such as ping
or wget
.
Most of the commands supplied by BusyBox are stripped-down versions of their original (GNU)
implementation and do not support all parameters and use cases.
When building BusyBox, you can configure which commands you want your version to support, and Alpine chooses to support only a subset of all available commands.
The following table lists the network commands supported by the generic version of BusyBox, whether included in the bespoke Alpine version, and which package contains the “original” version of the tool.
Command | Path | Description | Alpine BusyBox | Package with original |
---|---|---|---|---|
arp | /sbin | Manipulate ARP cache | ✔️ | net-tools |
arping | /usr/sbin | Send ARP requests/replies | ✔️ | iputils |
brctl | /usr/sbin | Manage ethernet bridges | ✔️ | bridge-utils |
dhcprelay | Relay DHCP requests between clients and server | ❌ | dhcrelay | |
dnsd | Small static DNS server daemon | ❌ | ||
dnsdomainname | /bin | ✔️ | net-tools | |
dumpleases | Display DHCP leases granted by udhcpd | ❌ | ||
ftpd | ftpd should be used as an inetd service. | ❌ | ||
ftpget | Retrieve a remote file via FTP | ❌ | ||
ftpput | Store a local file on a remote machine via FTP | ❌ | ||
hostname | /bin | Get or set hostname or DNS domain name | ✔️ | net-tools |
httpd | Listen for incoming HTTP requests | ❌ | ||
ifconfig | /sbin | Configure a network interface | ✔️ | net-tools |
ifdown | /sbin | ifdown [-ainmvf] ifaces… | ✔️ | ifupdown-ng ifupdown |
ifenslave | /sbin | Configure network interfaces for parallel routing | ✔️ | ? |
ifplugd | Network interface plug detection daemon | ❌ | ||
ifup | /sbin | ifup [-ainmvf] ifaces… | ✔️ | ifupdown-ng ifupdown |
inetd | Listen for network connections and launch programs | ❌ | ||
ip | /sbin | ✔️ | iproute2-minimal | |
ipaddr | /sbin | ✔️ | iproute2-minimal | |
ipcalc | /bin | Calculate IP network settings from a IP address | ✔️ | ? |
iplink | /sbin | ✔️ | iproute2-minimal | |
iproute | /sbin | ✔️ | iproute2-minimal | |
iprule | /sbin | ✔️ | iproute2-minimal | |
iptunnel | /sbin | ✔️ | net-tools | |
nameif | /sbin | Rename network interface while it in the down state | ✔️ | net-tools |
nc | /usr/bin | ✔️ | netcat-openbsd | |
netstat | /bin | Display networking information | ✔️ | net-tools |
nslookup | /usr/bin | ✔️ | bind-tools | |
ping | /bin | Send ICMP ECHO_REQUEST packets to network hosts | ✔️ | iputils |
ping6 | /bin | Send ICMP ECHO_REQUEST packets to network hosts | ✔️ | iputils |
popmaildir | Fetch content of remote mailbox to local maildir | ❌ | ||
route | /sbin | Edit kernel routing tables | ✔️ | net-tools |
rx | Receive a file using the xmodem protocol | ❌ | ||
sendmail | /usr/sbin | Read email from stdin and send it | ✔️ | postfix ssmtp opensmtpd |
slattach | /sbin | Attach network interface(s) to serial line(s) | ✔️ | net-tools |
tcpsvd | Create TCP socket, bind to IP:PORT and listen for incoming connection. | ❌ | ||
telnet | Connect to telnet server | ❌ | ||
telnetd | Handle incoming telnet connections | ❌ | ||
tftp | Transfer a file from/to tftp server | ❌ | ||
tftpd | Transfer a file on tftp client’s request | ❌ | ||
traceroute | /usr/bin | ✔️ | traceroute | |
udhcpc | /sbin | ✔️ | dhclient dhcpcd | |
udhcpd | DHCP server | ❌ | dhcp-server-vanilla | |
udpsvd | Create UDP socket, bind to IP:PORT and wait for incoming packets. | ❌ | ||
wget | /usr/bin | Retrieve files via HTTP or FTP | ✔️ | wget |
To replace the most commonly used BusyBox network commands with their originals, execute:
apk add bind-tools dhclient net-tools net-tools bridge-utils ifupdown-ng iputils iproute2-minimal netcat-openbsd traceroute wget
Some of these packages do not just install the command listed above but also deploy other tools.
For example, the entire content of the package net-tools
is
here and
of iproute2-minimal
here.
The package iproute2
depends on and hence installs: iproute2-minimal
, iproute2-ss
and iproute2-tc
(see below for details). Its own additional
tools are
here.
Other Network Tools #
Other important network tools which are not part of BusyBox are:
Command | Path | Description | Package with original |
---|---|---|---|
dig | /usr/bin | Tool for interrogating DNS name servers | bind-tools |
mdig | /usr/bin | Multiple/pipelined query version of dig | bind-tools |
iptables | /sbin | Administration tool for IPv4 packet filtering and NAT | iptables |
ip6tables | /sbin | Administration tool for IPv6 packet filtering and NAT | ip6tables |
ss | /sbin | Another Utility to investigate sockets | iproute2-ss |
tcpdump | /usr/bin | Prints contents of packets on a network interface | tcpdump |
tc | /sbin | Traffic control | iproute2-tc |
dhcping | /usr/bin | Dhcp daemon ping program | dhcping |
Install them all by running:
apk add bind-tools iptables ip6tables iproute2 tcpdump dhcping