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

0warn/PORT-Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 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/0warn/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