nyxr
Blazing fast network scanner. Fast discovery, evidence-backed service identification. One CLI, REST API and web UI.
nyxr finds open ports quickly, then works out what is actually running on them, and keeps the bytes that prove it. Point it at an IP, a hostname, a CIDR or a range. Every scan ends up in an inventory you can query later.
open|filtered, never “open”.ot-safe profile enforces allowlists, low rates and read-only Modbus and EtherNet/IP identity reads.nyxr-packetd helper.Install
Works on macOS and Linux (amd64, arm64):
brew install matusso/tap/nyxr
brew upgrade nyxr # later, to get the newest releaseOr tap once and install by name:
brew tap matusso/tap
brew install nyxrShell completion for bash, zsh, fish and PowerShell: nyxr completion <shell>.
Downloads
release v0.17.1 · verify with SHA256SUMS · all releases →
Usage
nyxr scan 192.0.2.10 # top 100 TCP ports, unprivileged
nyxr scan --profile tcp-common 192.0.2.0/24 # identify the services behind open ports
nyxr scan --profile udp-common 192.0.2.10 # UDP with protocol payloads
nyxr scan --profile web --json 192.0.2.10 # TLS and HTTP details as JSON
nyxr scan --profile windows 192.0.2.10 # SMB, RDP, MSRPC, LDAP/AD and Kerberos
nyxr scan --dry-run --profile tcp-full 10.0.0.0/24 # show the plan, send nothing
nyxr history --assets --open # what is open right now, per host
nyxr serve # web UI at http://127.0.0.1:8484Ports accept lists, ranges and sets such as top100, top1000, web, udp, database, windows or all. Run nyxr profiles for the full catalogue.
Build an inventory, then interrogate only what is open
nyxr scan --profile tcp-basic --ports top1000 192.0.2.0/24
nyxr scan --known-open 192.0.2.0/24
nyxr history --assets --open --scope 192.0.2.0/24Find databases that answer without credentials
Response-validated probes for Redis, Memcached, PostgreSQL, MongoDB, Neo4j, Cassandra, SQL Server, MySQL, Elasticsearch and ClickHouse:
nyxr scan --profile database 192.0.2.0/24Explain a packet capture
nyxr decode --all capture.pcapng
nyxr decode --tui capture.pcapng # step through packets with a note on every header fieldRun it as a team service
sudo setcap cap_net_raw,cap_net_admin+ep /usr/local/bin/nyxr-packetd
nyxr-packetd --socket /run/nyxr/packetd.sock --interface eth0 &
NYXR_API_TOKEN=$(openssl rand -hex 16) \
nyxr serve --listen 0.0.0.0:8484 --packetd /run/nyxr/packetd.sock