Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/dariusztytko/vhosts-sieve
侦察信息收集Web安全渗透测试子域名枚举
GitHubdariusztytko/vhosts-sieve

vhosts-sieve

在无法解析的域名中搜索虚拟主机

查看仓库
88256年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

VHosts Sieve

在不可解析的域名中搜索虚拟主机。

安装

root@kitploit:~
git clone https://github.com/dariusztytko/vhosts-sieve.git
pip3 install -r vhosts-sieve/requirements.txt

用法

获取子域名列表(例如使用 Amass)

root@kitploit:~
$ amass enum -v -passive -o domains.txt -d example.com -d example-related.com

使用 vhosts-sieve.py 查找虚拟主机

root@kitploit:~
$ python3 vhosts-sieve.py -d domains.txt -o vhosts.txt
日志目录: None
最大解析域名数: -1
最大扫描IP数: -1
最大待检虚拟主机候选数: -1
扫描端口: [80, 443, 8000, 8008, 8080, 8443]
SNI 启用: False
线程数: 16
HTTP 超时: 5.0s
TCP 超时: 3.0s
详细模式: False
用户代理: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

正在解析 12 个域名...

正在扫描 1 个 IP...

正在查找虚拟主机(活跃IP: 1,虚拟主机候选: 7)...

已保存结果(4 个虚拟主机)

输出文件包含按以下格式发现的虚拟主机

root@kitploit:~
165.22.264.81 80 http False zxcv.example.com 301
165.22.264.81 443 https False zxcv.example.com 200 dev.example.com 200 admin.example.com 401

每行包含以下信息:

  • IP 地址
  • 端口号
  • 检测到的协议(HTTP 或 HTTPS)
  • “已停止”标志(请参见 工作原理)
  • 发现的虚拟主机列表(含响应状态码)

日志

发现的虚拟主机的响应可以被记录(-l,--logs-dir 选项)。

工作原理

发现虚拟主机需执行以下步骤:

  1. 将输入文件中的域名解析为 IP 地址(IPv4)
  2. 根据解析结果,将域名分为两组:
    • 已解析域名
    • 未解析域名(虚拟主机候选)
  3. 对已解析域名的 IP 地址进行 Web 端口扫描(默认:80, 443, 8000, 8008, 8080, 8443)
  4. 在每个开放端口上验证虚拟主机候选

虚拟主机候选验证

虚拟主机候选验证按以下方式执行:

  1. 发送带有随机(无效)虚拟主机(Host 头)的请求
  2. 将响应保存为参考
  3. 将虚拟主机候选的响应与参考响应进行比较
    • 如果响应“相似”,则跳过该虚拟主机候选
    • 否则(响应不“相似”),将该虚拟主机候选标记为有效虚拟主机
  4. 为了提高成功率,会发送以下额外请求头:
    • X-Forwarded-For: 127.0.0.1
    • X-Originating-IP: [127.0.0.1]
    • X-Remote-IP: 127.0.0.1
    • X-Remote-Addr: 127.0.0.1
  5. 此外,如果发现过多有效虚拟主机(例如任何子域名都有效),则停止验证并将结果标记为“已停止”

请注意,响应状态码不被考虑。主要假设是,只要与参考响应不同,就值得详细分析。即使是 4xx 和 5xx 响应。

SNI

对于 HTTPS 协议,通过 Host 头和 SNI(TLS 扩展)发送虚拟主机候选名称可能有用。 这允许通过配置不良的 SNI 代理。 使用 --enable-sni 选项启用 SNI 模式。

优化

对于拥有数千个子域名的大型网络,检查所有虚拟主机候选可能需要数小时。以下选项可用于加速:

  • 默认扫描端口 80, 443, 8000, 8008, 8080, 8443 可以限制,例如仅扫描 443(-p,--ports-to-scan)
  • 线程数可以增加(-t,--threads-number)
  • 待解析域名的数量可以限制(--max-domains)
  • 待扫描 IP 地址的数量可以限制(--max-ips)
  • 待检查虚拟主机候选的数量可以限制(--max-vhost-candidates)
  • 超时时间可以缩短(--timeout-tcp,--timeout-http)

此外,建议使用 -v(详细模式)选项以持续查看结果。

变更

请参见 CHANGELOG

下载工具