Skip to main content

An online port scan scraper.

Project description


This is a Python 3 command-line utility and library for using websites that can perform port scans on your behalf.

Supported Online Port Scanners


Do it up:

$ pip install scanless --user

CLI Usage

$ scanless --help  
usage: scanless [-h] [-v] [-t TARGET] [-s SCANNER] [-r] [-l] [-a]

scanless, an online port scan scraper.

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         display the current version
  -t TARGET, --target TARGET
                        ip or domain to scan
  -s SCANNER, --scanner SCANNER
                        scanner to use (default: hackertarget)
  -r, --random          use a random scanner
  -l, --list            list scanners
  -a, --all             use all the scanners
  -d, --debug           debug mode (cli mode off & show network errors)

$ scanless --list
| Scanner Name   | Website                              |
| hackertarget   |             |
| ipfingerprints |       |
| spiderip       |                 |
| standingtech   | |
| t1shopper      |             |
| viewdns        |                 |
| yougetsignal   |         |

$ scanless -t -s spiderip
Running scanless v2.1.4...

21/tcp    closed ftp
22/tcp    open   ssh
25/tcp    closed smtp
80/tcp    open   http
110/tcp   closed pop3
143/tcp   closed imap
443/tcp   closed https
465/tcp   closed smtps
993/tcp   closed imaps
995/tcp   closed pop3s
1433/tcp  closed ms-sql-s
3306/tcp  closed mysql
3389/tcp  closed ms-wbt-server
5900/tcp  closed vnc
8080/tcp  closed http-proxy
8443/tcp  closed https-alt

Library Usage

>>> import scanless
>>> sl = scanless.Scanless()
>>> output = sl.scan('', scanner='hackertarget')
>>> print(output['raw'])
Starting Nmap 7.70 ( ) at 2020-05-12 21:39 UTC
Nmap scan report for (
Host is up (0.065s latency).
Other addresses for (not scanned): 2600:3c01::f03c:91ff:fe18:bb2f

21/tcp  closed ftp
22/tcp  open   ssh
80/tcp  open   http
443/tcp closed https

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
>>> import json
>>> print(json.dumps(output['parsed'], indent=2))
    "port": "21",
    "state": "closed",
    "service": "ftp",
    "protocol": "tcp"
    "port": "22",
    "state": "open",
    "service": "ssh",
    "protocol": "tcp"
    "port": "80",
    "state": "open",
    "service": "http",
    "protocol": "tcp"
    "port": "443",
    "state": "closed",
    "service": "https",
    "protocol": "tcp"


Note from the repo author: I did not create, nor do I maintain Docker support or the Dockerfile for scanless. It was a nice community addition. If it's broken please open an issue or submit a pull request and I'll take a look. Thank you!


To build the Docker image, run:

$ docker build -t scanless .


To use the Docker image previously created, run the following with whichever options you want like --help:

$ docker run --rm -it scanless --help

If that long command is too troublesome, you can make an alias like so: alias scanless="docker run --rm -it scanless" and then run scanless as you would normally:

$ scanless --help
$ scanless -l
$ scanless -t -s yougetsignal

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for scanless, version 2.1.5
Filename, size File type Python version Upload date Hashes
Filename, size scanless-2.1.5.tar.gz (217.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page