An Asynchronous Cybersecurity Tool for Subdomain Enumeration and Network Intelligence Gathering
Keywords:
Subdomain enumeration, Asynchronous scanning, DNS, WAF detection, Cybersecurity, ReconnaissanceAbstract
Finding all the subdomains of a website is a crucial first step in security testing, whether performing offensive security assessments or building defensive asset inventories. Current tools force a choice between passive methods that gather information from public sources — potentially missing new or less-known subdomains — and active tools that directly discover hidden subdomains but can be slow and generate excessive noise. This paper presents Subdocker, a Python-based asynchronous cybersecurity tool designed to bridge this gap. Subdocker employs a smart combination of passive and active techniques, gathering subdomain intelligence from OSINT feeds, certificate transparency logs, and public DNS data, while actively probing via brute-force DNS resolution, HTTP(S) validation, and Web Application Firewall (WAF) detection. Optional Nmap integration enables open port and service identification. Subdocker is built with asynchronous programming libraries (aiohttp and aiodns) enabling high-speed parallel HTTP probing and DNS resolution, and features a modular design for easy extensibility. Experimental evaluation on the panimalar.ac.in domain discovered 47 unique subdomains within 90 seconds, resolving IP addresses, detecting WAF-protected endpoints, and identifying running services with high accuracy. Results demonstrate that combining passive and active methods leads to better coverage and fewer false positives compared to existing tools.
Downloads
References
Python Software Foundation. Python Language Reference, Version 3.x. Available online: https://www.python.org (accessed 13 September 2025).
aiohttp Developers. aiohttp — Async HTTP Client/Server for asyncio. Available online: https://docs.aiohttp.org (accessed 13 September 2025).
aiodns Developers. aiodns — Async DNS Resolver for Python. Available online: https://pypi.org/project/aiodns (accessed 13 September 2025).
crt.sh. Certificate Search. Available online: https://crt.sh (accessed 13 September 2025).
SLMate. Cert Spotter API. Available online: https://sslmate.com/certspotter/api (accessed 13 September 2025).
ThreatMiner. ThreatMiner API. Available online: https://www.threatminer.org (accessed 13 September 2025).
urlscan.io. urlscan API — Website Scanner and Analyzer. Available online: https://urlscan.io (accessed 13 September 2025).
JLDc.me. AnubisDB — Subdomain Data Service. Available online: https://jldc.me/anubis (accessed 13 September 2025).
[9]. VirusTotal. VirusTotal Public API v3. Available online: https://developers.virustotal.com (accessed 13 September 2025).
[10]. AlienVault. Open Threat Exchange (OTX) API. Available online: https://otx.alienvault.com/api (accessed 13 September 2025).
RiskIQ. BufferOver.run DNS API. Available online: https://dns.bufferover.run (accessed 13 September 2025).
Aboul3la. Sublist3r — Fast Subdomain Enumeration Tool. Available online: https://github.com/aboul3la/Sublist3r (accessed 13 September 2025).
Nmap Project. Nmap — Network Mapper. Available online: https://nmap.org (accessed 13 September 2025).
tqdm Developers. tqdm — Python Progress Bar. Available online: https://tqdm.github.io (accessed 13 September 2025).
termcolor Developers. termcolor — Terminal Text Coloring for Python. Available online: https://pypi.org/project/termcolor (accessed 13 September 2025).
Python Software Foundation. asyncio — Asynchronous I/O Library. Available online: https://docs.python.org/3/library/asyncio.html.
Downloads
Published
Issue
Section
License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.


