____ _ _ __ __
| _ \(_)_ _____ | |_| \/ | __ _ _ __
| |_) | \ \ / / _ \| __| |\/| |/ _` | '_ \
| __/| |\ V / (_) | |_| | | | (_| | | | |
|_| |_| \_/ \___/ \__|_| |_|\__,_|_| |_|
Network Topology & Pivoting Tool
PivotMan is a CLI-based cybersecurity pentesting tool designed for Kali Linux. It automates network scanning using nmap and generates network topology maps to assist in penetration testing and security assessments.
- ✅ CLI Input Parsing: Accept IP addresses or CIDR ranges as targets
- ✅ Flexible Scanning: Customize nmap scan types and parameters
- ✅ Network Mapping: Build network topology from scan results
- ✅ Visual Topology Rendering: Generate graphical network visualizations using Matplotlib
- ✅ Multiple Output Formats: Plain text and JSON outputs
- Clone the repository:
git clone https://github.com/gh0stshe11/pivotman.git
cd pivotman- Install dependencies:
pip install -r requirements.txt- Ensure
nmapis installed:
sudo apt-get install nmap# Simple ping scan
python3 pivotman.py --targets 192.168.1.1
# Scan a CIDR range
python3 pivotman.py --targets 192.168.1.0/24
# Service version detection with JSON output
sudo python3 pivotman.py --targets 192.168.1.1 --scan-type sV --output jsonpython3 pivotman.py --targets 192.168.1.1,192.168.1.5,10.0.0.1python3 pivotman.py --targets 192.168.1.0/24 --scan-type sS --top-ports 100python3 pivotman.py --targets 10.0.0.0/24 --output json > results.json# Display interactive visualization
python3 pivotman.py --targets 192.168.1.0/24 --visualize
# Save visualization to file
python3 pivotman.py --targets 192.168.1.0/24 --visualize --viz-output topology.png| Option | Required | Description | Example |
|---|---|---|---|
--targets |
Yes | Comma-separated IP addresses or CIDR ranges | 192.168.1.1,10.0.0.0/24 |
--scan-type |
No | Nmap scan type (default: sn for ping scan) | sS, sT, sV, sC |
--top-ports |
No | Scan top N most common ports | 100, 1000 |
--output |
No | Output format: text or json (default: text) | text, json |
--visualize |
No | Render network topology visualization | (flag, no value) |
--viz-output |
No | Save visualization to file (PNG format) | topology.png |
/pivotman
├── README.md # This file
├── pivotman.py # Main CLI application
├── requirements.txt # Python dependencies
├── logo.txt # ASCII art logo
├── test/ # Test scripts
│ ├── README.md
│ └── test_basic.py
└── docs/ # Documentation
├── DESIGN.md
└── USAGE.md
- Usage Guide: Detailed usage instructions and examples
- Design Documentation: Architecture and design decisions
- Test README: Information about running tests
- Python 3.8+
- nmap (system package)
- python-nmap
- networkx
- matplotlib
python3 test/test_basic.pyPivotMan is designed for:
- Authorized penetration testing
- Security assessments
- Network inventory and mapping
- Educational purposes in controlled environments
- 🔄 AI-powered Q&A agent for scan analysis
- 🔄 Automated pivoting opportunity detection
- 🔄 Advanced network relationship inference
- 🔄 Enhanced visualization with Graphviz support
- 🔄 Report generation and export
Contributions are welcome! Please feel free to submit issues or pull requests.
This project is intended for educational and authorized security testing purposes only.
Created for cybersecurity professionals and penetration testers.