Welcome to my Port Scanner project! This is a multi-threaded port scanner written in C that supports various scanning techniques. It can help you identify open ports and services running on a target IP address.
-
Multiple Scanning Techniques:
- TCP Connect
- SYN Scan
- UDP Scan
- FIN Scan
- NULL Scan
- Xmas Scan
-
Service Version Detection: Identify the version of services running on open ports.
-
Logging: Save scan results in different formats (text, JSON, XML, CSV).
-
Configuration File Support: Easily configure scan parameters through a configuration file.
-
Multi-threading: Perform scans concurrently for faster results.
-
Progress Display: View the progress of the scan in real-time.
To get started with the Port Scanner, follow these steps:
-
Clone the repository:
git clone https://github.com/CYBER-MRINAL/PORT-Scanner.git cd PORT-Scanner
-
Compile the code:
gcc -o port_scanner port_scanner.c -lpthread
-
Run the scanner:
./port_scanner -p <start_port-end_port> -P <protocol> -s <scan_type> <IP>
Hereβs how to use the Port Scanner:
./port_scanner -p 1-1000 -P 0 -s 0 192.168.1.1
-p
: Specify the port range (e.g.,1-1000
).-P
: Protocol (0 for TCP, 1 for UDP).-s
: Scan type (0 for TCP Connect, 1 for SYN, etc.).<IP>
: Target IP address.
You can also use a configuration file to set parameters. Create a file named config.txt
with the following format:
ip=192.168.1.1
start_port=1
end_port=1000
protocol=0
scan_type=0
timeout=1
rate_limit=1
aggressive=0
Run the scanner with the configuration file:
./port_scanner -c config.txt
Scan results are logged in scan_results.log
. You can choose different output formats (text, JSON, XML, CSV) for logging.
Contributions are welcome! If you have suggestions or improvements, feel free to open an issue or submit a pull request.
If you have any questions or feedback, feel free to reach out:
- GitHub: CYBER MRINAL
- Telegram: CYBER MRINAL
This project is licensed under the MIT License. See the LICENSE file for details.
Thank you for checking out my Port Scanner! Happy scanning! π