Registry / http-networking / wafw00f

wafw00f

JSON →
library2.4.2pypypi✓ verified 85d ago

wafw00f (v2.4.2) identifies and fingerprints Web Application Firewall (WAF) products protecting a website. It sends a set of HTTP requests and analyzes responses to detect over 200 WAFs. The library is actively maintained with regular releases, typically several per year.

pip install wafw00f
INSTALL
IMPORT
SIG · WAFW00F
W
wafw00f
http-networkingpythonv2.4.2
Install
2.2s avg
Import
Disk
21MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v2.4.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 22.6MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.2s · import 0.000s · 23MB
21MB installed
● package 21MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

wafw00f
import wafw00f
WafW00F
from wafw00f import WafW00F

Simple example to detect WAF on a target URL.

from wafw00f import WafW00F waf = WafW00F('https://example.com') result = waf.identwaf() if result: print(f"WAF detected: {result.waf})") else: print("No WAF detected or could not be identified.")
wafw00f --version
Debug
Known issues
deprecatedThe use of setup.py is deprecated; installation via pip works without it.
fix
Use pip install wafw00f instead of any manual setup.py invocations.
affects: >=2.4.2
gotchaThe main function is named identwaf (not identify_waf). The W in WafW00F is uppercase.
fix
Use waf.identwaf() correctly.
affects: all
gotchaThe WafW00F constructor can hang indefinitely on slow-streaming servers if timeout is not set explicitly.
fix
Upgrade to >=2.4.1 where timeout enforcement is fixed.
affects: <2.4.1
breakingPython 2 support removed; Python >=3.10 required.
fix
Use Python 3.10 or newer.
affects: >=2.3.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'wafw00f'
The library is not installed or installed in a different environment.
fix
Run 'pip install wafw00f' in your active environment.
AttributeError: module 'wafw00f' has no attribute 'WafW00F'
Attempting to use a wrong import or referring to the class incorrectly.
fix
Use 'from wafw00f import WafW00F' and then instantiate with 'WafW00F(url)'.
TimeoutError: The read operation timed out
Target server is slow and the default timeout may not be respected in older versions.
fix
Upgrade to wafw00f >=2.4.1 and/or pass a timeout parameter: WafW00F(url, timeout=10).
Upgrade
Version history
2.4.2latest on PyPI · released Jan 26, 2026
Audit
Dependencies
requestsrequiredHTTP requests library used internally
urllib3requiredUsed for low-level HTTP handling
Agent activity
27 hits · last 30 days
node
24
OpenAI (training)
1
Resources
wafw00f — pip install wafw00f · libregistry