Docker Network Tools

December 9, 2025 · View on GitHub

cd docker pulls image size

A Docker image with various network tools pre-installed.

Usage

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.

Included tools

Click each section below to expand and view the complete list of tools.

Bandwidth - Tools for measuring network bandwidth and traffic
ToolDescriptionResources
nethogsTop-like monitor for network traffic.examples
nloadConsole network traffic and bandwidth monitor.examples
iperfA tool to measure IP bandwidth using UDP or TCP.examples
speedtest-cliCLI for testing bandwidth using speedtest.net.usage
DNS - Tools for querying and managing DNS
ToolDescriptionResources
arpanameTranslate IP addresses to the corresponding ARPA names.man page
ddns-confgenDDNS key generation tool.man page
delvDNS lookup and validation utility.man page
digDNS lookup utility.examples
dnsdomainnameShow the system's DNS domain name.man page
dnstap-readPrint dnstap data in human-readable form.README
domainnameShow or set the system's NIS/YP domain name.man page
drillDNS(SEC) query tool ala dig.examples
hostDNS lookup utility.examples
hostnameShow or set the system's host name.examples
libidnEncode/decode library for internationalized domain names.examples
mdigDNS pipelined lookup utility.man page
named-checkzoneZone file validity checking or converting tool.man page
named-compilezoneZone file validity checking or converting tool.man page
named-journalprintPrint zone journal in human-readable form.man page
named-rrcheckerSyntax checker for individual DNS resource records.man page
nisdomainnameShow or set system's NIS/YP domain name.man page
nslookupQuery Internet name servers interactively.examples
nsupdateDynamic DNS update utility.man page
rndc-confgenRNDC key generation tool.man page
tsig-keygenDDNS key generation tool.man page
ypdomainnameShow or set the system's NIS/YP domain name.man page
HTTP - Tools for interacting with HTTP servers
ToolDescriptionResources
abApache HTTP server benchmarking tool.examples
curlTool for transferring data with URLs.examples
grpcurlCommand-line tool for interacting with gRPC serversexamples
jqA lightweight and flexible command line JSON processor.examples
oath-toolkit-oathtoolGenerate and validate one-time passwords.man page
wgetA network utility to retrieve files from the web.examples
IP routing - Tools for managing IP routing tables
ToolDescriptionResources
bridgeShow / manipulate bridge addresses and devices.man page
ctstatUnified linux network statistics.man page
genlGeneric netlink utility frontend.man page
ifcfgSimplistic script which replaces ifconfig IP management.man page
ifstatHandy utility to read network interface statistics.man page
lnstatUnified linux network statistics.man page
nstatNetwork statistics tools.man page
routeShow / manipulate the IP routing table.man page
routefFlush network routes.man page
routelList routes with pretty output format.README
rtacctMonitor kernel SNMP counters and network interface statistics.man page
rtmonListens to and monitors RTnetlink.man page
rtprReplace backslashes with newlines.man page
rtstatUnified linux network statistics.man page
Interface and address management - Tools for configuring network interfaces and addresses
ToolDescriptionResources
ifconfigConfigure a network interface.examples
ipcalcNetwork IP calculator.man page
ipmaddrAdds, deletes, and displays multicast addresses.man page
macchangerView and manipulate the MAC address of network interfaces.man page
nameifName network interfaces based on MAC addresses.man page
nftablesNetfilter tables userspace toolsman page
plipconfigFine tune PLIP device parameters.man page
rarpManipulate the system RARP table.man page
slattachAttach a network interface to a serial line.man page
Packet analysis - Tools for capturing and analyzing network packets
ToolDescriptionResources
fpingSearch for network packets on an interface.examples
hping3A ping-like TCP/IP packet assembler/analyzer.examples
ngrepSearch for network packets on an interface.examples
tcpdumpDump and analyze traffic on a network.examples
tsharkNetwork protocol analyzer (console version).man page
Discovery and scanning - Tools for discovering hosts and scanning ports
ToolDescriptionResources
arp-scanAddress Resolution Protocol (ARP) packet scanner.examples
arpManipulate the system ARP cache.man page
arpingSend ARP REQUEST to a neighbor host.man page
clockdiffMeasure clock difference between hosts.man page
gpingPing, but with a graph.usage
masscanInternet-scale port scanner.examples
netstatDisplays network-related information.examples
ninfodRespond to IPv6 Node Information Queries.man page
nmapNetwork Security Scanner.examples
npingNetwork packet generation tool/ping utility.examples
ping6Send IP6 ICMP ECHO_REQUEST to network hosts.-
pingSend IP4 ICMP ECHO_REQUEST to network hosts.-
rarpdReverse Address Resolution Protocol (RARP) daemon.man page
rdiscNetwork router discovery daemon.man page
Transmission and communication - Tools for sending and receiving data over the network
ToolDescriptionResources
iptunnelCreates, deletes, and displays configured tunnels.documentation
kcatNon-JVM Apache Kafka producer and consumer.examples
netcatThe TCP/IP swiss army knife (OpenBSD variant).examples
opensslToolkit for Transport Layer Security (TLS).examples
socatMultipurpose relay for binary protocols.examples
sshOpenBSD's SSH client.examples
telnetTelnet client from GNU network utilitiesexamples
tftpdIPv4 Trivial File Transfer Protocol client.-
Tracing - Tools for tracing network paths
ToolDescriptionResources
mtrFull screen ncurses traceroute tool.examples
tcptracerouteDisplay route path using TCP probes.examples
tracepath6Traces path to a IP6 network host discovering MTU along this path.-
tracepathTraces path to a IP4 network host discovering MTU along this path.-
traceroute6Print the route packets trace to IP6 network host.-
Additional tools - Miscellaneous tools available in the image
ToolDescriptionResources
envsubstPerform variable substitutions on input.examples
findSearch for files in a directory hierarchy.examples
gitDistribute d version control system.examples
freeReport the amount of free and used memory in the system.-
killSend a signal to a process based on PID.-
locateList files in databases that match a pattern.man page
pgrepList processes based on name or other attributes.-
pkillSend a signal to a process based on name or other attributes.-
pmapReport memory map of a process.-
psReport information of processes.-
pwdxReport current directory of a process.-
skillObsolete version of pgrep/pkill.-
slabtopDisplay kernel slab cache information in real time.-
sniceRenice a process.-
sysctlRead or Write kernel parameters at run-time.-
tloadGraphical representation of system load average.-
topDynamic real-time view of running processes.-
updatedbUpdate a file name database.man page
uptimeDisplay how long the system has been running.-
vmstatReport virtual memory statistics.-
wReport logged in users and what they are doing.-
watchExecute a program periodically, showing output full-screen.-
xargsBuild and execute command lines from standard input.examples

Automated builds

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).

Always use the latest tag

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.

My other Docker repos

License

MIT License