ββββ βββββββββββββββββββββββββββββββ βββββββββ βββ
βββββ βββββββββββββββββββββββββββββββ βββββββββ βββ
ββββββ βββββββββ βββ ββββββββββββββββββββββ βββ
ββββββββββββββββ βββ βββββββββββββββββββββββ ββββ
βββ ββββββββββββββ βββ βββββββββββ ββββββ βββββββ
βββ βββββββββββββ βββ βββββββββββ ββββββ βββββ
Network Penetration & Analysis Tool - A powerful CLI utility for subnet calculations, IP range expansion, binary conversion, and encoding operations.
Calculate network information from CIDR notation:
- Network address
- Broadcast address
- IP range (first and last usable IPs)
- Number of available hosts
Generate complete lists of IP addresses within a CIDR range:
- Export to file for use with network scanners
- Support for any CIDR notation (/8 to /32)
Convert IP addresses to binary representation:
- Dotted binary format (e.g.,
11000000.10101000.00000001.00000001) - Useful for understanding subnet masks and network boundaries
Multi-format encoding support:
- Base64: Standard Base64 encoding/decoding
- Hex: Hexadecimal encoding/decoding
- URL: URL-safe encoding/decoding
- ROT13: Classic Caesar cipher rotation
Download the latest release for your platform from the Releases page:
# Linux (x64)
wget https://github.com/ProXxNebula/netshiv/releases/download/v1.0.0/netshiv-linux-amd64
chmod +x netshiv-linux-amd64
sudo mv netshiv-linux-amd64 /usr/local/bin/netshiv
# macOS (Apple Silicon)
wget https://github.com/ProXxNebula/netshiv/releases/download/v1.0.0/netshiv-darwin-arm64
chmod +x netshiv-darwin-arm64
sudo mv netshiv-darwin-arm64 /usr/local/bin/netshiv
# Windows
# Download netshiv-windows-amd64.exe and add to PATH# Clone the repository
git clone https://github.com/ProXxNebula/netshiv.git
cd netshiv
# Build for your platform
make build
# Or build for all platforms
make release
# Install system-wide (Linux/macOS)
make installRequirements:
- Go 1.21 or higher
- Make (optional, for using Makefile commands)
# Show help and available options
netshiv
# Show version
netshiv -version# Get subnet information summary
netshiv -expand 192.168.1.0/24
# Expand CIDR range to list all IPs
netshiv -range 192.168.1.0/24
# Save IP list to file
netshiv -range 10.0.0.0/28 -o targets.txtExample Output:
Network Address: 192.168.1.0
Broadcast IP: 192.168.1.255
IP Range: First: 192.168.1.0 Last: 192.168.1.255
# Convert IP to binary
netshiv -binary 192.168.1.1Example Output:
11000000.10101000.00000001.00000001
# Base64 encoding
netshiv -encode "Hello World" -type base64
# Output: SGVsbG8gV29ybGQ=
# Base64 decoding
netshiv -decode "SGVsbG8gV29ybGQ=" -type base64
# Output: Hello World
# Hex encoding
netshiv -encode "secret" -type hex
# Output: 736563726574
# URL encoding
netshiv -encode "hello world" -type url
# Output: hello+world
# ROT13 encoding (self-reversing)
netshiv -encode "test" -type rot13
netshiv -decode "grfg" -type rot13netshiv/
βββ cmd/
β βββ netshiv/ # main entry point for your CLI
β βββ main.go
βββ internal/ # non-exported/internal packages
β βββ codec/ # encoding/decoding utilities
β β βββ encoder.go
β βββ network/ # subnet, IP expansion, binary conversion
β β βββ cidrExpander.go
β β βββ binary.go
β βββ ui/ # banner & ANSI output helpers
β βββ banner.go
βββ build/ # release binaries (generated)
βββ go.mod
βββ go.sum
βββ Makefile
βββ LICENSE
βββ README.md
βββ CONTRIBUTING.md
# Development build (fast, includes debug info)
make dev
# Production build (optimized, stripped)
make build
# Cross-compile for all platforms
make release
# Run tests
make test
# Clean build artifacts
make clean| Command | Description |
|---|---|
make build |
Build for current platform |
make release |
Build for all platforms |
make clean |
Remove build artifacts |
make test |
Run Go tests |
make install |
Install to /usr/local/bin |
make dev |
Quick development build |
- Generate target IP lists from CIDR ranges for network scanning
- Quickly calculate subnet boundaries during reconnaissance
- Prepare IP lists for tools like Nmap, Masscan, or custom scripts
- Plan and document IP address allocation
- Verify subnet configurations
- Calculate network capacity and addressing schemes
- Decode encoded flags and messages
- Analyze network configurations in challenges
- Quick binary/hex conversions for puzzle solving
- Understand binary representation of IP addresses
- Practice subnet calculations
- Learn encoding schemes (Base64, Hex, ROT13)
# Generate list of IPs in corporate subnet
netshiv -range 10.10.1.0/24 -o corporate-ips.txt
# Use with nmap
nmap -iL corporate-ips.txt -p 80,443 --open# Check how many hosts in /26 network
netshiv -expand 192.168.50.0/26
# Output shows:
# Network: 192.168.50.0
# Broadcast: 192.168.50.63
# Usable IPs: 62 hosts (192.168.50.1 - 192.168.50.62)# Found encoded flag: "U0dWc2JHOGdWMjl5YkdRPQ=="
netshiv -decode "U0dWc2JHOGdWMjl5YkdRPQ==" -type base64
# Output: SGVsbG8gV29ybGQ=
# Decode again
netshiv -decode "SGVsbG8gV29ybGQ=" -type base64
# Output: Hello WorldContributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
git clone https://github.com/ProXxNebula/netshiv.git
cd netshiv
go mod download
make buildThis project is licensed under the MIT License - see the LICENSE file for details.
NetShiv is intended for educational purposes and authorized security testing only.
Users are solely responsible for ensuring compliance with:
- Applicable laws and regulations
- Network owner permissions
- Organizational security policies
- Ethical hacking guidelines
Unauthorized network scanning, penetration testing, or security assessments may be illegal in your jurisdiction. Always obtain proper authorization before testing networks you do not own.
- GitHub: https://github.com/ProXxNebula/netshiv
- Issues: Report a bug
- Releases: Download binaries
- Language: Go
- Lines of Code: ~500
- Dependencies: Standard library only
- Platforms: Linux, Windows, macOS (x64 & ARM64)
Made with β€οΈ for the cybersecurity community