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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/pirxthepilot/wtfis
OSINT (开源情报)侦察威胁源与聚合器信息收集威胁情报DNS 分析
GitHubpirxthepilot/wtfis

wtfis

适用于非机器人的被动式主机名、域名和 IP 查询工具

查看仓库
1.8k844个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
wtfis — 适用于非机器人的被动式主机名、域名和 IP 查询工具 | Kitploit

wtfis

Tests PyPI

面向非机器人的被动式主机名、域名和 IP 查询工具

WTF 是什么?

wtfis 是一款命令行工具,通过多种 OSINT 服务收集域名、FQDN 或 IP 地址的相关信息。与其他同类工具不同,它专为人类阅读而设计,提供美观(效果因人而异)且易于阅读和理解的结果。

本工具假设你使用的是免费版/社区版账户,因此会尽可能减少 API 调用次数,以尽量避免触发配额和速率限制。

项目名称是 "whois" 的谐音。

数据源

服务用于查询必需免费版
Virustotal全部否是
AbuseIPDBIP 地址否是
GreynoiseIP 地址否是
IP2LocationIP 地址否是
IP2Whois域名/FQDN否是
IPinfoIP 地址否是(无需注册)
IPWhoisIP 地址否是(无需注册)
ShodanIP 地址否否
URLhaus全部否是

Virustotal

主要信息来源。获取:

  • 主机名(FQDN)、域名或 IP
    • 最新分析统计及各厂商详情
    • 信誉评分(基于 VT 社区投票)
    • 热度排名(Alexa、Cisco Umbrella 等)(仅 FQDN 和域名)
    • 分类(由不同厂商分配)
  • 解析记录(仅 FQDN 和域名)
    • 最近 n 个 IP 地址(默认:3,最大:10)
    • 上述每个 IP 的最新分析统计
  • Whois
    • 仅作为后备:当 IP2Whois 凭据不可用时
    • 有关域名本身的各种 whois 数据

AbuseIPDB

AbuseIPDB 是一个众包的恶意 IP 地址举报数据库。通过其 API,wtfis 会显示:

  • 滥用置信度评分(0-100)
  • 举报次数

IP2Location

IP 地址的地理位置和 ASN 查询的替代来源(默认为 IPWhois)。获取:

  • 地理位置
  • ASN 和组织
  • 代理(True 或 False)

IP2Whois 和 IP2Location 是同一服务的不同功能,因此你只需注册一次。之后该 API 密钥可用于这两种查询。

IP2Whois

如果提供了凭据,则可选使用。获取:

  • Whois
    • 有关域名本身的各种 whois 数据

就 whois 数据而言,推荐使用 IP2Whois 而非 Virustotal,原因如下:

  • VT 的 whois 数据格式不够一致
  • IP2Whois 的 whois 数据质量往往优于 VT。此外,VT 的注册人数据显然经过匿名化。
  • 通过将查询转移到 IP2Whois,可以节省一次 VT API 调用。

IPinfo

另一种 IP 地址地理位置和 ASN 查询来源。获取:

  • 地理位置
  • ASN 和组织
  • 主机名
  • Anycast(true 或 false)

IPWhois

IP 地址的默认地理位置和 ASN 查询来源。获取:

  • 地理位置
  • ASN、组织和 ISP
  • 域名

不要把 IPWhois 与 IP2Whois 混淆,后者提供域名 Whois 数据。

Greynoise

通过 Greynoise 的社区 API,wtfis 将显示某个 IP 是否属于 Greynoise 的数据集之一:

  • Noise:该 IP 已被观察到定期扫描互联网
  • RIOT:该 IP 属于常见商业应用(例如 Microsoft O365、Google Workspace、Slack)

有关这些数据集的更多信息,请参见此处。

此外,该 API 还会返回 Greynoise 对 IP 的分类(如果可用)。可能的值为 benign、malicious 和 unknown。

Shodan

从 /shodan/host/{ip} 端点获取数据(参见文档)。对于每个 IP,获取:

  • 开放端口和服务列表
  • 操作系统(如果可用)
  • 标签(由 Shodan 分配)

URLhaus

URLhaus 是一个众包的恶意 URL 举报数据库。该增强功能可帮助了解所查询的主机名或 IP 当前是否正在或曾经被用于通过 HTTP 或 HTTPS 分发恶意软件。提供的数据包括:

  • 当前在线和总的恶意软件 URL 数量
  • 该主机名或 IP 当前是否在 DNSBL 和 SURBL 公共黑名单中
  • 该 URL 在 URLhaus 数据库的历史记录中被分配的所有标签

安装

root@kitploit:~
$ pip install wtfis

要通过 conda(从 conda-forge)安装,请参见 wtfis-feedstock。

要通过 brew 安装:

root@kitploit:~
brew install wtfis

设置

wtfis 使用以下环境变量(均为可选):

  • VT_API_KEY - Virustotal API 密钥
  • ABUSEIPDB_API_KEY - AbuseIPDB API 密钥
  • IP2LOCATION_API_KEY - IP2Location API 密钥
  • IP2WHOIS_API_KEY - IP2Whois API 密钥
  • GREYNOISE_API_KEY - Greynoise API 密钥
  • SHODAN_API_KEY - Shodan API 密钥
  • URLHAUS_API_KEY - URLhaus API 密钥
  • WTFIS_DEFAULTS - 默认布尔参数
  • GEOLOCATION_SERVICE - 要使用的地理位置 / ASN 查询服务

请用你自己的方式设置这些变量。

或者,在你的主目录中创建一个包含上述选项的文件 ~/.env.wtfis。模板参见 .env.wtfis.example。注意:不要忘记对文件执行 chmod 400!

用法

root@kitploit:~
usage: wtfis [-h] [-A] [-s] [-g] [-a] [-u] [-m N] [-n] [-1] [-V] [--geolocation-service {ip2location,ipinfo,ipwhois}] entity

positional arguments:
  entity                Hostname, domain or IP

options:
  -h, --help            show this help message and exit
  -A, --all             Enable all possible enrichments
  -s, --use-shodan      Use Shodan to enrich IPs
  -g, --use-greynoise   Enable Greynoise for IPs
  -a, --use-abuseipdb   Enable AbuseIPDB for IPs
  -u, --use-urlhaus     Enable URLhaus for IPs and domains
  -m N, --max-resolutions N
                        Maximum number of resolutions to show (default: 3)
  -n, --no-color        Show output without colors
  -1, --one-column      Display results in one column
  -V, --version         Print version number
  --geolocation-service {ip2location,ipinfo,ipwhois}
                        Geolocation service to use (default: ipwhois)

基本用法:

root@kitploit:~
$ wtfis FQDN_OR_DOMAIN_OR_IP

你会看到按面板组织的结果,类似于上图。

接受已去毒化的输入(例如 api[.]google[.]com)。

如果终端支持,某些字段和标题将是可点击的超链接,指向相应服务的网站。

所有增强

无需逐个指定每个增强标志,你可以使用 -A / --all 标志在可能的情况下启用全部增强。该标志与 --use-* 标志互斥。

AbuseIPDB

使用 -a 或 --use-abuseipdb 标志为主机名、域名和 IP 启用 AbuseIPDB 增强。

AbuseIPDB 字段名称是一个超链接(如果终端支持),可将你带到对应查询的 AbuseIPDB 数据库页面。

Greynoise

要启用 Greynoise,请使用 -g 或 --use-greynoise 标志调用。由于 API 配额相当低(截至 2023 年 3 月为每周 50 次请求),此查询默认关闭。

GreyNoise 字段名称也是一个超链接(如果终端支持),指向 Greynoise Web 界面中的 IP 条目,其中显示更多上下文信息。

Shodan

Shodan 可用于显示 IP 的开放端口或服务,以及某些结果中的操作系统。使用 -s 或 --use-shodan 标志调用。

如果终端支持,Services 字段是一个可点击的超链接,可将你带到 Shodan Web 界面。

URLhaus

使用 -u 或 --use-urlhaus 标志为主机名、域名和 IP 启用 URLhaus 增强。

Malware URLs 字段名称是一个超链接(如果终端支持),可将你带到对应查询的 URLhaus 数据库页面。

显示选项

对于 FQDN 和域名查询,你可以使用 -m NUMBER 或 --max-resolutions=NUMBER 增加或减少显示的 IP 解析结果的最大数量。上限为 10。如果完全不需要解析结果,请将该数字设置为 0。

要在一列中显示所有面板,请使用 -1 或 --one-column 标志。

可以使用 -n 或 --no-color 以无颜色方式显示面板。

默认值

可以通过设置 WTFIS_DEFAULTS 环境变量来定义默认参数。例如,默认使用 Shodan 并在一列中显示结果:

root@kitploit:~
WTFIS_DEFAULTS=-s -1

如果某个参数位于 WTFIS_DEFAULTS 中,那么在命令调用时指定相同的参数会使该参数失效。因此,在上面的例子中,如果你接着运行:

root@kitploit:~
$ wtfis example.com -s

那么将不会使用 Shodan。

请注意,目前无法在默认值中定义最大解析数(-m N, --max-resolutions N)。

更改 IP 地理位置和 ASN 提供商

推荐通过设置 GEOLOCATION_SERVICE 变量来更改此项。例如,要使用 IPinfo:

root@kitploit:~
GEOLOCATION_SERVICE=ipinfo

或者,在命令调用时设置 --geolocation-service:

root@kitploit:~
$ wtfis --geolocation-service=ipinfo 1.1.1.1

如果同时设置了上述两者,则命令行标志优先。

Docker

wtfis 可以通过 Docker 镜像运行。首先,通过运行以下命令构建镜像(使用随附的 Dockerfile):

root@kitploit:~
$ make docker-image

该镜像将包含最新 标记 版本(不一定来自最新提交)的 wtfis。这确保你获得的是稳定版本。

运行该镜像有两种方式:

确保 .env.wtfis 位于你的主目录中,并已设置必要的环境变量。然后直接运行:

root@kitploit:~
$ make docker-run

这是以下命令的别名

root@kitploit:~
$ docker run --env-file=${HOME}/.env.wtfis -it wtfis

请注意,每个定义在等号前后不能有任何空格(应为 FOO=bar,而不是 FOO = bar)。

或者,你也可以自行设置环境变量,然后运行,例如:

root@kitploit:~
$ docker run -e VT_API_KEY -e SHODAN_API_KEY -it wtfis
下载工具