Aug 21, 2024 07:33 AM
(This post was last modified: Aug 21, 2024 07:34 AM by Watta.)
![[Image: GJ7TO8I.png]](https://i.imgur.com/GJ7TO8I.png)
https://github.com/TalMaIka/Cr4wler
Cr4wler is a sophisticated web application dedicated to scanning IP ranges, extracting detailed information on open ports, services, and associated data, all seamlessly presented via an intuitive user interface. Powered by robust backend tools such as masscan and nmap, ensures comprehensive scanning capabilities and is crafted to deliver a seamless user experience.
⭐Star the project on GitHub to support future updates and to show some love⭐
Features
- Scan IP ranges for open ports and services.
- Retrieve detailed information about discovered hosts including geolocation, OS, and reverse DNS, Ports and Services.
- Display results in an interactive and user-friendly web interface.
- Sort results by Country, Open-ports, Services, OS and more...
- Statistics and graphs based on geolocation and stats.
- Requirements
- Python 3.x
- Flask
- masscan
- nmap
Installation
- Clone the repository:
- git clone https://github.com/TalMaIka/Cr4wler.git
- cd Cr4wler
- Install the required Python packages:
- pip install -r requirements.txt
Ensure masscan and nmap are installed on your system. Refer to their respective installation guides.
Start the Flask server:
python app.py
Usage
Start the Flask server:
python app.py
Open your web browser and navigate to http://localhost:5000.
Click the "Fetch Hosts" button to retrieve and display the scanned data.
API Endpoints
GET /api/fetch: Fetches the scanned host data.
Example Response
[
{
"ip": "1.2.3.1",
"geolocation": {
"city": "San Diego",
"region": "California",
"country": "US",
"loc": "37.25329,-121.78575"
},
"os_name": "Linux 2.4 (Slackware 10.2)",
"rdns": "N/A",
"timestamp": "2024-07-17T23:20:15Z",
"ports": [
{
"port": 80,
"service": "http",
"product": "nginx"
},
{
"port": 3306,
"service": "mysql",
"version": "5.5.62",
"product": "MySQL"
}
]
}
]
Project Structure
Cr4wler/
├── static/
│ ├── styles.css # CSS file
| |── main.js # JS file
│ └── logo.png # Logo image
├── templates/
│ └── index.html # Web interface
├── instance/
│ └── hosts.db # SQLite Database.
├── requirements.txt # Python dependencies
├── app.py # Flask application
└── scanner.py # Crawler bots.
Contributing
We welcome contributions to enhance the Cr4wler project. Here are some ways you can contribute:
Reporting bugs and issues
Submitting feature requests
Creating pull requests with enhancements
Steps to Contribute
Fork the repository.
Create a new branch (git checkout -b feature-branch).
Make your changes and commit them (git commit -am 'Add new feature').
Push to the branch (git push origin feature-branch).
Create a new Pull Request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Enjoy using Cr4wler! Use it responsibly

