This package identifies Web servers using an aggressive technique based on the maximum size of the URI.
Project description
WebServerIdentifier
Description
This package identifies Web servers using an aggressive technique based on the maximum size of the URI.
This tool is a basic implementation, the technique is describe here.
Requirements
This package require:
- python3
- python3 Standard Library
- PythonToolsKit
Installation
pip install WebServerIdentifier
Usages
Command lines
python3 -m WebServerIdentifier -h # Use python module
python3 WebServerIdentifier.pyz --help # Use python executable
WebIdentify -d -v -m HEAD identify 127.0.0.1 # Use console script entry point
WebIdentify -i 1 identify 127.0.0.1:8000 # Spoof multiple targets (verbose mode)
WebIdentify -m HEAD getmaxuri 127.0.0.1:8000 # Spoof range of targets
WebIdentify -d -v -m HEAD -i 1 getmaxuri 127.0.0.1 # Spoof all network
WebIdentify 127.0.0.1 127.0.0.0/29 -s -t 1 # Semi (spoof only gateway IP for the targets, interval is 1 seconds)
WebIdentify 127.0.0.1 127.0.0.0/29 -i 127.0. # Use the loopback interface
WebIdentify 172.16.10.1 172.16.0.33 -p # Passive mode
Python3
from WebServerIdentifier import WebServerIdentifier, _create_unverified_context
identifier = WebServerIdentifier("127.0.0.1", baseuri="/", ssl=True, context=_create_unverified_context(), port=8000, interval=0.5, timeout=2)
identifier = WebServerIdentifier("127.0.0.1")
response = identifier.request()
response.status
response.reason
r = identifier.request(method="HEAD", size=65535)
r.status
r.reason
generator = identifier.get_max_URI_size()
size = 0
while size is not None:
last_size = size; size, response = next(generator)
generator = identifier.get_max_URI_size(method="HEAD")
generator = identifier.identify_server()
generator = identifier.identify_server(method="HEAD")
response = 0
while response is not None:
response, size, servers = next(generator)
maxsize, target_server = servers.popitem()
Links
Help
usage: WebServerIdentifier.py [-h] [--method METHOD] [--baseuri BASEURI] [--interval INTERVAL] [--ssl] [--timeout TIMEOUT] [--verbose] [--debug] {identify,getmaxuri} target
This package identifies target's web server.
positional arguments:
{identify,getmaxuri} Identify the target's web server or get the maximum size of the URI.
target Host targeted (examples: 10.101.10.101:8000, example.com)
optional arguments:
-h, --help show this help message and exit
--method METHOD, -m METHOD
HTTP method to request the Web Server
--baseuri BASEURI, -b BASEURI
Base URI to request the target.
--interval INTERVAL, -i INTERVAL
Requests interval.
--ssl, -s Use HTTPS (SSL, encryption).
--timeout TIMEOUT, -t TIMEOUT
Set timeout for HTTP requests.
--verbose, -v Active verbose mode.
--debug, -d Active debugging mode (set level debug for all loggers).
Licence
Licensed under the GPL, version 3.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
WebServerIdentifier-0.1.0.tar.gz
(22.2 kB
view hashes)
Close
Hashes for WebServerIdentifier-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3065c29fdb6423e9d9e1fcd46604a496d84a785e5184c97c34464afa4256cbbe |
|
MD5 | b40cdade0a3ecc03b0b27677d14ea831 |
|
BLAKE2b-256 | 49b383593ed2b0ba19dd58d54287ee6593ff5ca441817ee8e4f306d4daa2d1c2 |