Skip to content

A super fast multithreaded ports scanner that scans for open listening ports on the target server with multiple methods and user-specified scan speed profiles.

Notifications You must be signed in to change notification settings

SHUR1K-N/PortNinja-Open-Ports-Finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PortNinja: Open Ports Finder

Description & Usage

A super fast multithreaded ports scanner that scans for open listening ports on the specified target server using any the following methods:

  1. All ports in existence (1 – 65,535)
  2. Top 1,000 common ports only (reference)
  3. User-specified range of ports
  4. User-specified individual ports

Scan Speed Profiles

The user can select one of four scan speed profiles for use case-specific executions, ranging from slowest (most accurate) to fastest (may miss ports), as shown below:

Profile Speed Accuracy Scan Time
1 Slowest Most accurate (zero / minimum missed ports) ~3+ hours
2 Slower Very accurate (minimum missed ports) ~2 hours
3 Faster Fairly accurate (missed ports not impossible) ~15+ minutes
4 Fastest Accurate-ish (may miss ports) A few seconds

The default profile is option #3, and provides a fairly accurate result while being fast. However, for specific use cases, a slower or faster profile could be required.

Example Execution

This project was created in Python, for research purposes.

Optimization

Multithreading was implemented in this program to create a dedicated software thread for each socket to connect to a dedicated port of the specified target. All these sockets/threads are briefly created, then connected to their individual dedicated ports concurrently to maximize the scan rate, and then correctly terminated upon completion of execution.

Note

PortNinja does not perform a stealthy scan, that is, it works on the basis of establishing the complete three-way handshake instead of just sending a SYN flagged packet followed by the RST flagged packet (as it would in a SYN scan). PortNinja terminates each connection with its individual port properly by the time that individual port has been scanned; but this in itself does not by any means dictate that the target will not be aware of all these sudden connection attempts through all of its ports that are being "scanned" by PortNinja.

Dependencies to PIP-Install

  • requests (for automatic update checks)
  • colorama (for colors)
  • termcolor (for colors)

My website: https://TheComputerNoob.com

About

A super fast multithreaded ports scanner that scans for open listening ports on the target server with multiple methods and user-specified scan speed profiles.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages