3g-scan (short for GoGoGadgeto-Scan) is a fast, lightweight, and efficient network discovery and scanning tool written in Go.
It is designed to perform native network scans only, relying exclusively on built-in system capabilities (ARP, ICMP, TCP, DNS) instead of heavy third-party scanning libraries.
This approach makes 3g-scan extremely fast, predictable, and suitable for both enterprise and personal environments.
No external scanning modules. No wrappers. No overhead.
3g-scan uses:
- Native ICMP ping
- Native ARP table / neighbor discovery
- Native TCP port scanning
- Native DNS reverse lookup
This guarantees:
- β‘ Maximum performance
- π§ Full control over behavior
- π Minimal attack surface
- π¦ Very small binary size
- Scan one or multiple CIDR IP ranges
- Detect host availability (Up / Down)
- Resolve hostnames (reverse DNS)
- Retrieve MAC addresses
- Identify hardware vendors
- Lightweight TCP port scanning
- Optional concurrent scanning (goroutines)
- Export results to CSV and YAML
- Configurable via CLI flags
- Cross-platform: Windows, Linux, macOS
- Expand CIDR ranges into individual IP addresses
- Ping each host using native ICMP
- If the host is reachable:
- Resolve hostname(s)
- Retrieve MAC address
- Identify vendor from MAC
- Scan common TCP ports
- Aggregate results
- Export to CSV and/or YAML if requested
3g-scan is equally suitable for:
- Asset discovery
- Shadow IT detection
- Network audits
- Inventory generation
- Segmentation validation
- Home network discovery
- Device identification
- IoT visibility
- Learning networking concepts
Its non-intrusive and native approach makes it safe to run in production environments.
3g-scan/
βββ main.go
βββ ggg_network/
β βββ cidrLister.go
β βββ pinger.go
β βββ hostnamer.go
β βββ maccer.go
β βββ portScanner.go
β βββ resources/
| βββ ieee-oui.txt
βββ README.md
3g-scan can be installed in three different ways, depending on your needs and environment.
All methods require administrator / root privileges at runtime (ICMP & ARP access).
This is the fastest and easiest way to install 3g-scan.
The script automatically downloads the latest release and installs it on your system.
curl -fsSL https://raw.githubusercontent.com/0adri3n/3g-scan/refs/heads/master/docs/install.sh | bashiwr https://raw.githubusercontent.com/0adri3n/3g-scan/refs/heads/master/docs/install.ps1 -UseBasicParsing | iexAfter installation, you can verify it with:
3g-scan -hYou can manually download the executable matching your platform from the latest GitHub release.
π https://github.com/0adri3n/3g-scan/releases/latest
chmod +x 3g-scan
sudo mv 3g-scan /usr/local/bin/- Download
3g-scan.exe - Place it in a directory of your choice
- (Optional) Add the directory to your
PATH
Verify:
3g-scan -hRecommended if you want to:
- Modify the code
- Audit the implementation
- Build for a custom platform
- Go 1.20+
- Git
git clone https://github.com/0adri3n/3g-scan.git
cd 3g-scan
go build -o 3g-scanRun:
sudo ./3g-scan -h3g-scan must be run with elevated privileges:
- Linux / macOS:
sudo - Windows: Run terminal as Administrator
This is required for:
- ICMP echo requests
- ARP table access
3g-scan -ranges <CIDR[,CIDR,...]> [options]| Flag | Description |
|---|---|
-ranges |
IP ranges to scan (comma separated CIDR) |
-p_scan |
Enable or disable port scanning |
-routine |
Enable concurrent scanning (goroutines) |
-debug |
Enable debug logs |
-csv |
Output results to a CSV file |
-yaml |
Output results to a YAML file |
sudo ./3g-scan -ranges 192.168.1.0/24sudo ./3g-scan \
-ranges 192.168.1.0/24,10.0.0.0/24 \
-p_scan true \
-routine true \
-csv results.csv \
-yaml results.yaml.\3g-scan.exe -ranges 192.168.1.0/24| OS | Ping | MAC | Hostname | Ports |
|---|---|---|---|---|
| Windows | β | ARP cache | β | β |
| Linux | β | Native ARP | β | β |
| macOS | β | Native ARP | β | β |
- MAC addresses are only available on the local network
- ARP does not work across routed networks or VLANs
- Firewalls may block ICMP or TCP probes
- OS detection is heuristic-based, not guaranteed
- TUI interface
- JSON export
- OS fingerprint improvements
- Custom port lists
- Vendor database optimization
- Scan profiling / statistics
MIT License
Contributions are welcome! Feel free to open issues or submit pull requests.