Scans domains for data on their:
- HTTP, HTTPS, and HSTS configuration, using
site-inspector
. - Detailed TLS configuration, using the SSL Labs API.
- Whether a domain participates in the Digital Analytics Program. (Government-specific for now.)
Can be used with any domain, or CSV where domains are the first column, such as the official .gov domain list.
Requires Python 3. Tested on 3.4.2.
Scan a domain. You must specify at least one "scanner" with --scan
.
./scan konklone.com --scan=inspect
Scan a list of domains from a CSV. The CSV's header row will be ignored if the first cell starts with "Domain" (case-insensitive).
./scan domains.csv --scan=inspect
Run multiple scanners on each domain:
./scan whitehouse.gov --scan=inspect,tls
Scanners:
inspect
- HTTP/HTTPS/HSTS configuration.tls
- TLS configuration.analytics
- Participation in an analytics program.
Options:
--scan
- Required. Comma-separated names of one or more scanners.--debug
- Print out more stuff.--force
- Ignore cached data and force scans to hit the network.--analytics
- Required if using theanalytics
scanner. Point this to the CSV of participating domains.
Full scan data about each domain is saved in the cache/
directory, named after each scan and each domain, in JSON.
- Example:
cache/inspect/whitehouse.gov.json
Highlights from the scan data about all domains are saved in the results/
directory, named after each scan, in CSV.
- Example:
results/inspect.csv
It's possible for scans to save multiple CSV rows per-domain. For example, the tls
scan may have a row with details for each detected TLS "endpoint".
This project is in the worldwide public domain. As stated in CONTRIBUTING:
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.