packaged by Chainguard
Contact our team to test out this image for free. Please also indicate any other images you would like to evaluate.
Minimal FIPS compliant image with the netshoot tool set for troubleshooting Docker and Kubernetes networking, including tcpdump, tshark, nmap, dig, iproute2, iperf3 and scapy.
Chainguard Containers are regularly-updated, secure-by-default container images.
For those with access, this container image is available on cgr.dev:
Be sure to replace the ORGANIZATION placeholder with the name used for your organization's private repository within the Chainguard Registry.
Chainguard's netshoot-fips image is meant to serve as a FIPS-compliant drop-in replacement for the upstream nicolaka/netshoot image. It carries the same troubleshooting tool set, runs as root in /root, and starts zsh with upstream's shell configuration, so the oh-my-zsh framework and the powerlevel10k prompt behave the same way. The image sets LANG to C.UTF-8 because the prompt renders its icons through zsh's multibyte handling.
A few upstream tools are absent, either because upstream abandoned them or because Alpine packages them in a way that has no Chainguard equivalent:
| Tool | Reason | Alternative in this image |
|---|---|---|
| The tools already in this image cover what it is used for, and TELNET is plaintext, so it cannot meet the DISA General Purpose Operating System SRG requirement that remote access use DoD-approved encryption. |
|
| Abandoned upstream, with no release or commit for over two years. |
|
| Its only stable release line is pinned to |
|
| Abandoned upstream. |
|
| Abandoned upstream. |
|
| A compatibility shim for Perl code that predates |
|
| Abandoned upstream. | oh-my-zsh's |
Two packages differ in how they are split rather than in what they contain:
nping and the Nmap Scripting Engine scripts ship inside the nmap package, so there is no separate nmap-nping or nmap-scripts to install.su and login, which a troubleshooting container does not need.python3 is Python 3.13, and pip installs into that interpreter.
This FIPS-compliant image includes the OpenSSL FIPS provider and is built with FIPS-validated cryptographic modules. Key FIPS features include:
calicoctl, ctop, fortio, and grpcurl are built against the FIPS-validated Go cryptographic moduleFor more on FIPS support in Chainguard container images, consult the guide on FIPS-enabled Chainguard Containers on Chainguard Academy.
Most tools in this image reach the system OpenSSL for their cryptography, and the FIPS provider rejects non-approved algorithms rather than falling back to them. A command that asks for one fails instead of silently downgrading. MD5 is the algorithm you are most likely to hit:
openssl dgst -md5 and the other MD5 entry points return an error.snmpwalk -a SHA or a SHA-2 variant instead of -a MD5.swaks cannot use CRAM-MD5 SMTP authentication. Use a --auth mechanism that does not depend on MD5.hashlib.md5() raises unless it is called with usedforsecurity=False, which affects scapy and httpie only when you compute a digest yourself.Packet capture, routing, DNS, and reachability testing are unaffected, because they perform no cryptography.
The packet-level tools need extra kernel privileges that Docker and Kubernetes do not grant by default:
tcpdump, tshark, ngrep, nmap, nping, scapy, and fping open raw sockets, which needs the NET_RAW capability.ip, iptables, nftables, ipset, ipvsadm, and conntrack change network state, which needs the NET_ADMIN capability.Start an interactive shell:
The container greets you with the netshoot banner and a powerlevel10k prompt.
Run a single tool instead of a shell by passing it as the command:
Capture traffic inside another container's network namespace. This is the most common use of the image, because it lets you watch a container's traffic without adding any tooling to that container:
Measure throughput between two containers. Start the server:
Then run the client against it:
In Kubernetes, attach an ephemeral container to a running pod to inspect its network from the inside:
Or run a throwaway pod to test cluster DNS and service reachability:
The image reads its shell configuration from /etc/zsh/zshrc and its banner from /etc/motd. Upstream ships the same configuration as ~/.zshrc, which only resolves for root; a global rc loads for any uid. Mounting your own ~/.zshrc replaces the shipped one rather than layering on top of it. The following example switches to the lighter robbyrussell prompt and enables history search, which replaces the zsh-autosuggestions plugin that upstream carries:
Start the container with that file in place:
Chainguard's free tier of Starter container images are built with Wolfi, our minimal Linux undistro.
All other Chainguard Containers are built with Chainguard OS, Chainguard's minimal Linux operating system designed to produce container images that meet the requirements of a more secure software supply chain.
The main features of Chainguard Containers include:
For cases where you need container images with shells and package managers to build or debug, most Chainguard Containers come paired with a development, or -dev, variant.
In all other cases, including Chainguard Containers tagged as :latest or with a specific version number, the container images include only an open-source application and its runtime dependencies. These minimal container images typically do not contain a shell or package manager.
Although the -dev container image variants have similar security features as their more minimal versions, they include additional software that is typically not necessary in production environments. We recommend using multi-stage builds to copy artifacts from the -dev variant into a more minimal production image.
To improve security, Chainguard Containers include only essential dependencies. Need more packages? Chainguard customers can use Custom Assembly to add packages, either through the Console, chainctl, or API.
To use Custom Assembly in the Chainguard Console: navigate to the image you'd like to customize in your Organization's list of images, and click on the Customize image button at the top of the page.
Refer to our Chainguard Containers documentation on Chainguard Academy. Chainguard also offers VMs and Libraries — contact us for access.
This software listing is packaged by Chainguard. The trademarks set forth in this offering are owned by their respective companies, and use of them does not imply any affiliation, sponsorship, or endorsement by such companies.
Chainguard's container images contain software packages that are direct or transitive dependencies. The following licenses were found in the "latest" tag of this image:
( GPL-2.0-or-later
Apache-2.0
Artistic-1.0-Perl
Artistic-2.0
BSD-1-Clause
BSD-2-Clause
BSD-3-Clause
For a complete list of licenses, please refer to this Image's SBOM.
Software license agreementChainguard Containers are SLSA Level 3 compliant with detailed metadata and documentation about how it was built. We generate build provenance and a Software Bill of Materials (SBOM) for each release, with complete visibility into the software supply chain.
SLSA compliance at ChainguardThis image helps reduce time and effort in establishing PCI DSS 4.0 compliance with low-to-no CVEs.
PCI DSS at ChainguardThis is a FIPS validated image for FedRAMP compliance.
This image is STIG hardened and scanned against the DISA General Purpose Operating System SRG with reports available.
Learn more about STIGsGet started with STIGs