portScanner is a tool for scanning whole network or any number of hosts in a network to find open ports and vulnerable services running on the machine.
For example : the network format can be 192.168.31.0/24 (whole network), 192.168.31.10-25(some hosts in the network), or a single host like 192.168.31.5 or 192.168.31.5/32
- http - Scans for open ports Http Ports eg. 80,443,8080,8081,9090,9091
- mongodb - Scans for MongoDb instances. eg: 27017
- mysql - Scans for mysql instances. eg: 3306,3307
- ssh - Scans for SSH eg: 22,22222
- printer - Scans for printer ports eg: 515,9100
- fullscan - Scans for all ports.
- MODULES - List all modules - 'modules'
- USE - Use a module - 'use module_name'
- OPTIONS - Show a module's options - 'options'
- SET - Set an option - 'set option_name option_value'
- RUN - Run the selected module - 'run'
- FULL SCAN - Scan the whole network - 'fullscan'
- BACK - Go back to menu - 'back'
- EXIT - Shut down portScanner - 'exit'
$ sudo apt-get update && sudo apt-get install python3 python3-pip -y
$ git clone https://github.com/tinyb0y/portScanner.git
$ cd portScanner/
$ python3 -m pip install -r requirements.txt
options = -sV
cores=8
You may add more options like -O for OS Detection (Scan time may take a little longer for matching the nmap signatures)
> python3 portScanner.py
tinyb0y $> use http
tinyb0y/http $>
tinyb0y/http $> options
Options for module 'http':
verbose - Show verbose output ==> 'true'
network - IP range to scan ==> [NOT SET]
port - Port to Scan ==> '80,443,8080'
filename - Set filename Full path ==> [NOT SET]
tinyb0y/http $> set network 192.168.31.5
- Filename provided should be absolute path for running smoothly
tinyb0y/http $> run
Logs are saved in logs/ directory
> python3 portScanner.py -h
usage: portScanner.py [-h] [--interactive INTERACTIVE] [--module MODULE]
[--network NETWORK] [--port PORT] [--verbose VERBOSE]
[--filename FILENAME] [--bruteforce BRUTEFORCE] [--test]
portScanner
optional arguments:
-h, --help show this help message and exit
--interactive INTERACTIVE, -i INTERACTIVE
1 for Interactive Mode, 0 for Commandline (default: 1)
--module MODULE, -m MODULE
Module name to scan -> http telnet mysql ssh ftp
printer fullscan (default: fullscan)
--network NETWORK, -n NETWORK
Network to scan (default: None)
--port PORT, -p PORT Port to scan (default: None)
--verbose VERBOSE, -v VERBOSE
Verbose Level (default: True)
--filename FILENAME, -f FILENAME
Absolute Path of the filename (default: True)
--bruteforce BRUTEFORCE, -b BRUTEFORCE
Brute Attack (default: False)
--test
> python3 portScanner.py -i 0 -m fullscan -n 192.168.31.5
-i 0 for commandline mode
> python3 app.py
I'm not responsible for anything you do with this program, so please only use it for good and educational purposes.
If any suggestions, mail me at tinyb0y{at}protonmail{dot}com