last login:

simonegtt/projects/netdoc-go


Automatic network documentation

netdoc scans one or more subnets with nmap, sorts the devices it finds into categories and writes a ready-to-share report in Markdown, DOCX, PDF, TXT and HTML. It ships as a single Go binary with an interactive terminal UI. nmap is the only runtime dependency.

preview
netdoc terminal UI: main menu and current configuration
features
  • Three-step nmap pipeline: host discovery, OS/service detection, NetBIOS names as a hostname fallback.
  • Devices grouped by nmap device type: Network, Storage, Specialized Servers, Servers & Workstations, Printer, Power Device, Generic.
  • Network Summary with subnet, default gateway and DNS servers (the real upstream servers, also behind systemd-resolved or NetworkManager's dnsmasq).
  • Optional extras: internet speed test (Cloudflare), open ports and services, TLS certificate expiry, a Credentials section to fill in by hand.
  • Output formats: Markdown (always), DOCX and PDF (default), TXT and HTML (optional), with 7 document color themes.
  • Report archive: read, compare two reports, regenerate with another theme, remove categories, delete — all from the stored raw scan data, no rescan.
requirements
  • Linux (reads /proc/net/route and /etc/resolv.conf).
  • nmap — if it is missing, netdoc --subnet offers to install it with dnf, apt or pacman.
  • sudo rights (OS detection and UDP probes need root).
  • Go 1.24 or newer, only to build from source.
install

Fedora, Rocky Linux, RHEL (installs nmap too):

sudo dnf install ./netdoc-0.1.1-1.x86_64.rpm

Debian, Ubuntu (installs nmap too):

sudo apt install ./netdoc_0.1.1_amd64.deb

Any distribution, from the archive:

tar -xzf netdoc_0.1.1_linux_amd64.tar.gz
sudo install netdoc /usr/local/bin/

Build from source:

git clone https://github.com/simonegtt/netdoc-go.git
cd netdoc-go
go build -o netdoc .
usage
./netdoc                                  # interactive terminal UI
./netdoc --subnet 192.168.10.0/24         # direct scan with default settings
./netdoc --subnet 192.168.10.0/24 --title "Netdoc Corp" --output-dir reports
./netdoc --show-subnets                   # print the detected local subnets
./netdoc --version                        # print the version
license

netdoc is released under the MIT License. nmap is not part of netdoc and is not included in any download: netdoc runs the copy of nmap installed on the system, distributed separately under its own license.

system online — session time: 00:00:00
theme