The IP Scanner Web App is a powerful web-based platform that enables users to scan systems or networks for vulnerabilities. It integrates advanced scanning tools with a user-friendly interface, allowing users to input target systems (e.g., IP addresses), initiate scans, and generate detailed, actionable reports.
- Input Options:
- Individual IP addresses.
- CIDR ranges (e.g.,
192.168.1.0/24
).
- Validation:
- Ensures inputs are correctly formatted before scanning.
- Libraries Used:
nmap
: For network scanning to identify open ports and services.python-vulners
: To fetch known vulnerabilities for identified software/services.
- Custom Scan Options:
- Scan intensity: Quick scan, deep scan, network scan, vulnerabilities scan, or regular scan.
- Specify ports or services to target.
- Detailed Reports:
- Summary of scanned targets.
- Open ports and discovered services.
- Known vulnerabilities associated with services.
- Database Integration:
- Store scan results in a database (Django ORM).
- User Accounts:
- Users can securely manage their own scans and data.
The project leverages the following Python libraries:
nmap
- For scanning targets.ipaddress
- For IP address validation.python-vulners
- To discover vulnerabilities.
- Python 3.x
- Django framework
-
Clone the repository:
git clone https://github.com/alanhasn/IP-Vulnerability-Web-App-Scanner.git cd IP-Vulnerability-Web-App-Scanner
-
Install the dependencies:
pip install -r requirements.txt
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
-
Apply database migrations:
python manage.py migrate
-
Run the development server:
python manage.py runserver
-
Access the app at: http://127.0.0.1:8000
- vulnerability_scanner_nmap
- authentication/
- ip_scan/
- templates/
- vulnerability_scanner_nmap/
- db.sqlite3
- manage.py
- ping_test.py
- requirements.txt
- nmap_scan_test.py
- pyvenv.cfg
- Log in or create an account.
- Choose your Scan Types
- Enter target IPs, CIDR ranges
- Run the scan and view the results.
- Save your scan in your Dashboard and Share it with others
After performing a scan, the following information will be included in the output:
- Whether the system is reachable (up) or not (down).
- Port Number: Identify open ports (e.g., 80, 443, 22).
- Protocol: Determine the protocol (e.g., TCP, UDP).
- Service Running: The service associated with the port (e.g., HTTP, SSH, HTTPS).
- Identify the OS running on the target system (e.g., Windows 10, Ubuntu 20.04).
- The range of ports scanned (e.g.,
22-443
).
- Description: Provide a brief explanation of the vulnerability.
- Severity: Categorize vulnerabilities as Low, Medium, High, or Critical.
- Record the timestamp of when the scan was completed.
- How long the scan took to complete.
This project is licensed under the MIT License.
We welcome contributions! Feel free to fork the repository, make changes, and submit a pull request.
For questions or feedback, contact us at:
- Email: whoamialan11@gmail.com
- GitHub: @alanhasn