Skip to content

πŸ” Multi-threaded Port Scanner in C | πŸš€ Discover open ports and services | πŸ“Š Supports various scanning techniques | πŸ“„ Logging & Configuration options | πŸ’» Open Source

License

Notifications You must be signed in to change notification settings

CYBER-MRINAL/PORT-Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Port Scanner

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.

πŸš€ Features

  • 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.

πŸ“¦ Installation

To get started with the Port Scanner, follow these steps:

  1. Clone the repository:

    git clone https://github.com/CYBER-MRINAL/PORT-Scanner.git
    cd PORT-Scanner
  2. Compile the code:

    gcc -o port_scanner port_scanner.c -lpthread
  3. Run the scanner:

    ./port_scanner -p <start_port-end_port> -P <protocol> -s <scan_type> <IP>

πŸ› οΈ Usage

Here’s how to use the Port Scanner:

./port_scanner -p 1-1000 -P 0 -s 0 192.168.1.1

Options:

  • -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.

πŸ“„ Configuration

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

πŸ“ Logging

Scan results are logged in scan_results.log. You can choose different output formats (text, JSON, XML, CSV) for logging.

βš™οΈ Contributing

Contributions are welcome! If you have suggestions or improvements, feel free to open an issue or submit a pull request.

πŸ“« Contact

If you have any questions or feedback, feel free to reach out:

πŸŽ‰ License

This project is licensed under the MIT License. See the LICENSE file for details.


Thank you for checking out my Port Scanner! Happy scanning! πŸš€

About

πŸ” Multi-threaded Port Scanner in C | πŸš€ Discover open ports and services | πŸ“Š Supports various scanning techniques | πŸ“„ Logging & Configuration options | πŸ’» Open Source

Topics

Resources

License

Stars

Watchers

Forks

Languages