A Docker image with various network tools pre-installed.
To launch a Bash session in your terminal:
docker run --rm -it jonlabelle/network-tools
To launch a Bash session in your terminal on arm64:
docker run --rm -it --platform linux/arm64 jonlabelle/network-tools
To run a command directly and exit when finished (nmap in this case):
docker run --rm -it jonlabelle/network-tools nmap -v 10.0.10.0/24
NOTE: To pull from GitHub Container Registry, instead of Docker Hub, replace jonlabelle/network-tools with ghcr.io/jonlabelle/network-tools.
Click each section below to expand and view the complete list of tools.
Bandwidth - Tools for measuring network bandwidth and traffic
Tool | Description | Resources |
---|---|---|
nethogs |
Top-like monitor for network traffic. | examples |
nload |
Console network traffic and bandwidth monitor. | examples |
iperf |
A tool to measure IP bandwidth using UDP or TCP. | examples |
speedtest-cli |
CLI for testing bandwidth using speedtest.net. | usage |
DNS - Tools for querying and managing DNS
Tool | Description | Resources |
---|---|---|
arpaname |
Translate IP addresses to the corresponding ARPA names. | man page |
ddns-confgen |
DDNS key generation tool. | man page |
delv |
DNS lookup and validation utility. | man page |
dig |
DNS lookup utility. | examples |
dnsdomainname |
Show the system's DNS domain name. | man page |
dnstap-read |
Print dnstap data in human-readable form. | README |
domainname |
Show or set the system's NIS/YP domain name. | man page |
drill |
DNS(SEC) query tool ala dig. | examples |
host |
DNS lookup utility. | examples |
hostname |
Show or set the system's host name. | examples |
libidn |
Encode/decode library for internationalized domain names. | examples |
mdig |
DNS pipelined lookup utility. | man page |
named-checkzone |
Zone file validity checking or converting tool. | man page |
named-compilezone |
Zone file validity checking or converting tool. | man page |
named-journalprint |
Print zone journal in human-readable form. | man page |
named-rrchecker |
Syntax checker for individual DNS resource records. | man page |
nisdomainname |
Show or set system's NIS/YP domain name. | man page |
nslookup |
Query Internet name servers interactively. | examples |
nsupdate |
Dynamic DNS update utility. | man page |
rndc-confgen |
RNDC key generation tool. | man page |
tsig-keygen |
DDNS key generation tool. | man page |
ypdomainname |
Show or set the system's NIS/YP domain name. | man page |
HTTP - Tools for interacting with HTTP servers
Tool | Description | Resources |
---|---|---|
ab |
Apache HTTP server benchmarking tool. | examples |
curl |
Tool for transferring data with URLs. | examples |
grpcurl |
Command-line tool for interacting with gRPC servers | examples |
jq |
A lightweight and flexible command line JSON processor. | examples |
oath-toolkit-oathtool |
Generate and validate one-time passwords. | man page |
wget |
A network utility to retrieve files from the web. | examples |
IP routing - Tools for managing IP routing tables
Tool | Description | Resources |
---|---|---|
bridge |
Show / manipulate bridge addresses and devices. | man page |
ctstat |
Unified linux network statistics. | man page |
genl |
Generic netlink utility frontend. | man page |
ifcfg |
Simplistic script which replaces ifconfig IP management. | man page |
ifstat |
Handy utility to read network interface statistics. | man page |
lnstat |
Unified linux network statistics. | man page |
nstat |
Network statistics tools. | man page |
route |
Show / manipulate the IP routing table. | man page |
routef |
Flush network routes. | man page |
routel |
List routes with pretty output format. | README |
rtacct |
Monitor kernel SNMP counters and network interface statistics. | man page |
rtmon |
Listens to and monitors RTnetlink. | man page |
rtpr |
Replace backslashes with newlines. | man page |
rtstat |
Unified linux network statistics. | man page |
Interface and address management - Tools for configuring network interfaces and addresses
Tool | Description | Resources |
---|---|---|
ifconfig |
Configure a network interface. | examples |
ipcalc |
Network IP calculator. | man page |
ipmaddr |
Adds, deletes, and displays multicast addresses. | man page |
macchanger |
View and manipulate the MAC address of network interfaces. | man page |
nameif |
Name network interfaces based on MAC addresses. | man page |
nftables |
Netfilter tables userspace tools | man page |
plipconfig |
Fine tune PLIP device parameters. | man page |
rarp |
Manipulate the system RARP table. | man page |
slattach |
Attach a network interface to a serial line. | man page |
Packet analysis - Tools for capturing and analyzing network packets
Tool | Description | Resources |
---|---|---|
fping |
Search for network packets on an interface. | examples |
hping3 |
A ping-like TCP/IP packet assembler/analyzer. | examples |
ngrep |
Search for network packets on an interface. | examples |
tcpdump |
Dump and analyze traffic on a network. | examples |
tshark |
Network protocol analyzer (console version). | man page |
Discovery and scanning - Tools for discovering hosts and scanning ports
Tool | Description | Resources |
---|---|---|
arp-scan |
Address Resolution Protocol (ARP) packet scanner. | examples |
arp |
Manipulate the system ARP cache. | man page |
arping |
Send ARP REQUEST to a neighbor host. | man page |
clockdiff |
Measure clock difference between hosts. | - |
clockdiff |
Measure clock difference between hosts. | man page |
gping |
Ping, but with a graph. | usage |
masscan |
Internet-scale port scanner. | examples |
netstat |
Displays network-related information. | examples |
ninfod |
Respond to IPv6 Node Information Queries. | man page |
nmap |
Network Security Scanner. | examples |
nping |
Network packet generation tool/ping utility. | examples |
ping6 |
Send IP6 ICMP ECHO_REQUEST to network hosts. | - |
ping |
Send IP4 ICMP ECHO_REQUEST to network hosts. | - |
rarpd |
Reverse Address Resolution Protocol (RARP) daemon. | man page |
rdisc |
Network router discovery daemon. | man page |
Transmission and communication - Tools for sending and receiving data over the network
Tool | Description | Resources |
---|---|---|
iptunnel |
Creates, deletes, and displays configured tunnels. | documentation |
kcat |
Non-JVM Apache Kafka producer and consumer. | examples |
netcat |
The TCP/IP swiss army knife (OpenBSD variant). | examples |
openssl |
Toolkit for Transport Layer Security (TLS). | examples |
socat |
Multipurpose relay for binary protocols. | examples |
ssh |
OpenBSD's SSH client. | examples |
telnet |
Telnet client from GNU network utilities | examples |
tftpd |
IPv4 Trivial File Transfer Protocol client. | - |
Tracing - Tools for tracing network paths
Tool | Description | Resources |
---|---|---|
mtr |
Full screen ncurses traceroute tool. | examples |
tcptraceroute |
Display route path using TCP probes. | examples |
tracepath6 |
Traces path to a IP6 network host discovering MTU along this path. | - |
tracepath |
Traces path to a IP4 network host discovering MTU along this path. | - |
traceroute6 |
Print the route packets trace to IP6 network host. | - |
Additional tools - Miscellaneous tools available in the image
Tool | Description | Resources |
---|---|---|
envsubst |
Perform variable substitutions on input. | examples |
find |
Search for files in a directory hierarchy. | examples |
git |
Distribute d version control system. | examples |
free |
Report the amount of free and used memory in the system. | - |
kill |
Send a signal to a process based on PID. | - |
locate |
List files in databases that match a pattern. | man page |
pgrep |
List processes based on name or other attributes. | - |
pkill |
Send a signal to a process based on name or other attributes. | - |
pmap |
Report memory map of a process. | - |
ps |
Report information of processes. | - |
pwdx |
Report current directory of a process. | - |
skill |
Obsolete version of pgrep/pkill. | - |
slabtop |
Display kernel slab cache information in real time. | - |
snice |
Renice a process. | - |
sysctl |
Read or Write kernel parameters at run-time. | - |
tload |
Graphical representation of system load average. | - |
top |
Dynamic real-time view of running processes. | - |
updatedb |
Update a file name database. | man page |
uptime |
Display how long the system has been running. | - |
vmstat |
Report virtual memory statistics. | - |
w |
Report logged in users and what they are doing. | - |
watch |
Execute a program periodically, showing output full-screen. | - |
xargs |
Build and execute command lines from standard input. | examples |
This image is automatically built and published:
- Weekly: Every Sunday at 1:43 AM UTC to ensure the latest security updates and package versions are included. This weekly schedule ensures that even if no code changes are made, the base Alpine Linux image and all installed network tools receive the latest security patches and updates.
- On commits: Whenever changes are pushed to the main branch, ensuring immediate availability of new features or fixes
- Manual: Can be triggered manually via GitHub Actions workflow dispatch for emergency updates or testing
Images are published to both Docker Hub and GitHub Container Registry with multi-architecture support (linux/amd64 and linux/arm64).
Important
Always use the latest
tag (e.g., jonlabelle/network-tools:latest
) rather than specific version tags. The latest
tag is automatically updated with weekly security patches, bug fixes, and tool updates, ensuring you always have access to the most secure and up-to-date version. Additionally, to maintain manageable storage, only the last 25 builds are retained in the registries, and older tagged versions may be removed.
jonlabelle/docker-nmap. Minimal Docker image with Nmap Network Security Scanner pre-installed.