portscan is a python library that allows the user to set up and perform large nmap scans in a easy manner. It uses config files and concurrency to decrease time wasted configuring nmap commands and I/O wait time.
- scheduling scans
- wanting push notifications when ports are open
- large scans on hundres-of-thousands of unique IP's
- keeping a record of how ports open/close
The lib currently offers the following modules:
- businessunit: backbone object that owns scanobject, reads config files, constructs data, performs the scanning, and parses data.
- scanobject: encapsualates data parsed by businessunit and serves it during scanning.
- email: enables users to send push notifications to users from data collected by businessunit.
- htmlgenerator: enables users to programmatically generate HTML reports from data collected.
- log: custom log generator object.
- upload: enables users to upload and share links to reports generated by businessunit objects.
All the documentation is available on github pages.
portscan has one dependency, that will be installed when setup.py is run.
The portscan code is tested against the following python interpreters:
- Python 3.3
- Python 3.4
- Python 3.5
- Python 3.6
You can install portscan via git:
$ git clone https://github.com/msadekuni/python-portscan.git $ cd python-portscan $ python setup.py install
Some codes samples are available in the examples directory or in the documentation.