Identify running services and versions on open ports
Yes (nmap -sV)
Run NSE vulnerability or enumeration scripts
Yes (nmap --script)
Detect OS fingerprint of a remote host
Yes (nmap -O)
Discover which switch port a server is on (LLDP)
layer2-discovery (lldpcli)
Trace the route or diagnose latency to a host
network-diagnostics (trippy, gping)
Resolve DNS records for a domain
dns-tools (dog, dig)
Stress test an HTTP endpoint under load
http-load-testing (oha)
Monitor which process is using bandwidth
network-monitoring (bandwhich)
Inspect or configure the host's own IPs, links, or routes
interface-state (ip)
Core Expertise
Network discovery follows a two-phase approach: fast enumeration followed by deep analysis.
Why This Workflow
Phase
Tool
Purpose
Time
Discovery
RustScan
Scan all 65,535 TCP ports
Seconds
Discovery
arp-scan-rs
Find hosts on local network
Sub-second
Analysis
nmap
Service detection, scripts
Minutes
RustScan Advantages
Scans all ports in 3-8 seconds (vs nmap's minutes/hours)
Automatically chains into nmap for service detection
Handles ulimit and batch sizing for reliability
Written in Rust for memory safety and speed
arp-scan-rs Advantages
Faster than traditional arp-scan
Built-in scan profiles (default, fast, stealth)
VLAN tagging support
JSON output for parsing
Essential Commands
RustScan - Fast Port Discovery
# Scan single host (all 65k ports)
rustscan -a 192.168.1.100
# Scan with nmap service detection
rustscan -a 192.168.1.100 -- -sV
# Scan with nmap scripts (default safe scripts)
rustscan -a 192.168.1.100 -- -sV -sC
# Scan multiple hosts
rustscan -a 192.168.1.100,192.168.1.101
# Scan from file
rustscan -a hosts.txt
# Scan specific ports only
rustscan -a 192.168.1.100 -p 22,80,443
# Scan port range
rustscan -a 192.168.1.100 -r 1-1000
# Adjust for reliability (slower but more accurate)
rustscan -a 192.168.1.100 --ulimit 5000 --batch-size 2500
arp-scan-rs - Local Network Discovery
# Scan local network (auto-detect interface)
arp-scan-rs -l
# Scan specific interface
arp-scan-rs -i en0
# Scan specific range
arp-scan-rs 192.168.1.0/24
# Fast profile (less accurate, faster)
arp-scan-rs -l --profile fast
# Stealth profile (slower, harder to detect)
arp-scan-rs -l --profile stealth
# JSON output for parsing
arp-scan-rs -l --format json
# With VLAN tagging
arp-scan-rs -l --vlan 100
# Resolve hostnames
arp-scan-rs -l --resolve