P.R.I.S.M. - Port Response Identifier & Service Mapper “Split the signal. Map the source.”
Welcome to P.R.I.S.M., a custom network banner grabber built with Python, designed with the precision and innovation. This tool connects to open ports on a target network, retrieves service banners (e.g., SSH, FTP, HTTP), and validates results using Nmap. It’s built for ethical hacking, network auditing, and learning network reconnaissance in a controlled lab environment. Features
Banner Grabbing: Connects to open ports and captures service banners. Nmap Validation: Cross-checks results with Nmap’s service detection for accuracy. Multithreaded Scanning: Speeds up scans with concurrent connections. Structured Output: Displays results in a sleek, tabular format with optional JSON export. Ethical Design: Includes warnings to ensure scans are performed only on authorized networks. Stark Flair: Clean, futuristic design in documentation and output, inspired by Tony Stark’s tech aesthetic.
Prerequisites
Python: 3.8 or higher. Nmap: Installed on your system (sudo apt install nmap on Linux, or equivalent). Python Libraries: python-nmap, tabulate, colorama. Environment: A lab network (e.g., VirtualBox with Metasploitable) for testing. VS Code: For development and debugging.
Installation Clone the repository:git clone https://github.com/your-username/prism.git cd prism
Set up a virtual environment in VS Code:python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
Install dependencies:pip install -r requirements.txt
Ensure Nmap is installed and accessible in your PATH.
Usage Run the script with: python prism.py <target_ip> -p [-o <output_file>]
<target_ip>: The IP address to scan (e.g., 192.168.1.1). -p, --ports: Comma-separated ports to scan (default: 21,22,80,443). -o, --output: Optional JSON file to save results.
Example: python prism.py 192.168.1.1 -p 22,80,443 -o results.json
Project Structure prism/ ├── prism.py # Main script ├── requirements.txt # Dependencies ├── README.md # Project documentation ├── LICENSE # MIT License ├── .gitignore # Git ignore file └── results/ # Directory for output files
Open the prism folder in VS Code. Activate the virtual environment: Press Ctrl+Shift+P, select Python: Select Interpreter, and choose the venv interpreter.
Install recommended extensions: Python (by Microsoft): For IntelliSense and debugging. Pylance: For enhanced Python support. GitLens: For Git integration.
Run the script: Use the VS Code terminal (source venv/bin/activate) and execute python prism.py. Debug using VS Code’s debugger by setting breakpoints in prism.py.
Contributing Contributions are welcome! Fork the repository, create a feature branch, and submit a pull request. Ensure code follows PEP 8 and includes tests.
License MIT License. See LICENSE for details. Stark Industries Disclaimer This project is inspired by the innovation and style of Stark Industries. It is not affiliated with any fictional or real-world entity. Built with precision, tested with rigor.