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

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

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

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

工具目录

分类

查看所有分类
Loading categories
device-pharmer — 打开 1K+ 个 IP 或 Shodan 搜索结果并尝试登录 | Kitploit
工具/GitHubGitHub/danmcinerney/device-pharmer
OSINT (开源情报)侦察网络映射密码攻击信息收集Web安全渗透测试身份验证
GitHubdanmcinerney/device-pharmer

device-pharmer

打开 1K+ 个 IP 或 Shodan 搜索结果并尝试登录

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

device-pharmer

并发打开 Shodan 搜索结果、指定的 IP、IP 范围、域名或文本文件中的 IP 列表,并打印页面的状态和标题(如果适用)。添加 -u 和 -p 选项可尝试登录页面,首先查找表单登录,如果失败则尝试 HTTP 基本认证。

使用 -f SEARCHSTRING 在 HTML 响应中查找特定字符串,以测试认证是否成功。将所有响应的设备记录到以 Shodan 搜索词或目标 IP/域名加 _results.txt 命名的文件中。搜索响应页面 HTML 时有一点需要注意:某些表单登录页面在认证请求后返回的是 JSON 对象响应,而不是登录后页面的 HTML 源码。在这种情况下,通常只需使用 -f "success" 即可判断是否成功。

请求的默认超时时间为 15 秒。默认并发发送 1000 个请求,可通过 -c 选项调整。需要注意的是,如果使用 Shodan 的免费 API 密钥,Shodan 仅允许获取第一页结果(100 台主机)。如果你拥有专业版 API 密钥,则可以使用 -n NUMBER_OF_PAGES 参数指定要测试的搜索结果页数。默认情况下仅检查第 1 页。

要求:

Python 2.7

  • mechanize
  • gevents
  • BeautifulSoup
  • shodan(如果指定 -s 选项)

现代 Linux

  • 已在 Kali 1.0.6 上测试

Shodan API 密钥(仅当指定 -s SEARCHTERM 参数时需要)

  • 给脚本传递 -a YOUR_API_KEY 参数,或者
  • 编辑第 82 行以永久生效,执行此操作后欢迎提交拉取请求,这样你的记录中就有它了;反正是在可靠的人手里 ;)。没有 API 密钥?从 shodan 轻松免费获取一个... 或者,在下载 Shodan 密钥之前,先磨练一下你的 Google dorking 技巧。

用法

最简单的用法:

root@kitploit:~
python device-pharmer.py -s 'dir-300' -a Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4

使用 API 密钥 Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4 在 Shodan 中搜索 "dir-300"。如果响应页面存在,则打印其 IP 和标题。

root@kitploit:~
python device-pharmer.py -s 'dd-wrt' -a Wutc4c3T78gRIKeuLZesI8Mx2ddOiP4 -u admin -p password -n 5 -f ">Advanced Routing<" --proxy 123.12.12.123:8080 --timeout 30

使用给定的 API 密钥在 Shodan 中搜索 "dd-wrt",并尝试使用用户名 "admin" 和密码 "password" 登录结果。仅收集 Shodan 结果的前 5 页(500 台主机),并检查落地页的 HTML 是否包含字符串 ">Advanced Routing<"。如果找到该字符串,则在输出中打印 "* MATCH *" 以及页面的 IP 和标题,并记录日志。最后,为所有请求使用位于 123.12.12.123:8080 的 HTTP 代理,并将超时时间设置为 30 秒。

root@kitploit:~
python device-pharmer.py -t 192.168.0-2.1-100 -c 100

将目标设为 192.168.0-2.1-100 是让脚本并发打开 192.168.0.1-101、192.168.1.1-101 和 192.168.2.1-101,并收集响应页面的状态和标题。-c 100 会将并发数限制为每次 100 个页面,因此该脚本将依次处理 3 组,每组 100 个 IP。由于脚本内的默认超时时间为 15 秒,完成大约需要 ~45 秒。

root@kitploit:~
python device-pharmer.py -t www.reddit.com/login -ssl -u sirsmit418 -p whoopwhoop -f 'tattoos'

专门使用 HTTPS 尝试登录 www.reddit.com/login,用户名为 sirsmit418,密码为 whoopwhoop。在响应 HTML 中查找与已订阅 subreddit 相关的文本 "tattoos",以检查认证是否成功。

root@kitploit:~
python device-pharmer.py --ipfile list_of_ips.txt

测试文本文件中的每个 IP,文件中的 IP 以换行符分隔。

所有选项:

-a APIKEY:使用此 API 密钥搜索 Shodan(仅在配合 -s 使用时才需要)

-c CONCURRENT:并发发送指定数量的请求;默认=1000

-f FINDTERMS:在每个响应的 HTML 中查找参数指定的字符串;匹配时打印并记录它

--ipfile IPTEXTFILE:测试指定文本文件中以换行符分隔的 IP 列表中的每个 IP

-n NUMPAGES:遍历指定数量的 Shodan 搜索结果页以收集 IP;每页 100 条结果

-p PASSWORD:尝试使用此密码登录

--proxy PROXY:使用此代理发起请求;要使用 HTTP Basic 登录代理,请使用类似 user:[email protected]:8080 的格式

-s SEARCHTERMS:在 Shodan 中搜索一个或多个词,打印每个 IP 地址以及页面是否返回响应,如果返回则打印响应页面的标题(跟随重定向)

-ssl:专门向所有目标发送 HTTPS 请求

-t IPADDRESS/DOMAIN/IPRANGE:尝试访问此域名、IP 或 IP 范围,而不是使用 Shodan 填充目标列表,并返回响应信息

--timeout TIMEOUT:设置每个 URI 的超时时间(秒);默认为 15

-u USERNAME:尝试使用此用户名登录

许可证

版权所有 (c) 2014, Dan McInerney 保留所有权利。

允许以源代码和二进制形式重新分发和使用,无论是否经过 修改,前提是满足以下条件:

  • 源代码的再分发必须保留上述版权声明、此条件列表和以下免责声明。
  • 二进制形式的再分发必须在分发提供的文档和/或其他材料中重现上述版权声明、此条件列表和以下免责声明。
  • 未经事先明确书面许可,不得使用 Dan McInerney 或其贡献者的名称来认可或推广从本软件衍生的产品。

本软件由版权所有者和贡献者"按原样"提供,不提供 任何明示或暗示的保证,包括但不限于对适销性和 特定用途适用性的暗示保证。在任何情况下, 均不对任何直接、间接、偶然、 特殊、惩戒性或后果性损害承担责任(包括但不限于 采购替代商品或服务;使用、数据或利润的损失; 或业务中断),无论其原因如何,也不论是基于 合同、严格责任或侵权行为(包括疏忽或其他方式) 的任何责任理论,即使已被告知发生此类损害的 可能性。


  • danmcinerney.org
  • Flattr this
下载工具