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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/ciprianster/osips
OSINT (开源情报)信息收集网络安全威胁情报
GitHubciprianster/osips

OSIPs

一个Python脚本,从目录中的所有文本文件中收集所有有效的IP地址,并对照Whois数据库、TOR中继和地理位置进行检查。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

OSIPs

该脚本递归扫描给定文件夹中的每个文件,提取所有 IPv4 和 IPv6 地址,过滤出公网 IP 地址,然后查询这些 IP 地址的 TOR 中继、WhoIs 服务和地理位置服务。它输出 4 个文件:一个包含所有 IP 地址详细信息的 CSV 文件和一个 JSON 文件,一个包含所有找到的 IP 地址索引的 CSV 文件,以及一个包含所有收集到的地理位置的 KML 文件。

特性

  • 单次运行可解析任意数量的文件
  • 也可针对单个输入文件运行
  • 提取所有唯一的有效 IPv4 和 IPv6 地址(即使两个地址书写方式不同也能正确比较)
  • 收集所有公网 IP 地址的公开 Who Is 信息
  • 查询所有公网 IP 地址的 TOR 中继
  • 收集所有公网 IP 地址的地理位置信息
  • 可在非交互模式下使用命令行参数运行,方便集成到其他脚本中
  • 可在无参数的情况下运行,输入值通过交互方式提供
  • 允许用户选择要执行或排除的步骤
  • 每执行一步都会在控制台输出详细信息
  • 将所有 IP 地址的详细信息导出为 CSV 文件和 JSON 文件
  • 导出 KML 文件,可方便地加载到地图上
  • 将找到的所有 IP 地址索引保存在一个单独的 CSV 文件中,便于追溯

前提条件:

Python 3.9.x

安装

要安装依赖项,请运行:

pip install -r requirements.txt

编译为可执行文件

pip install pyinstaller

pyinstaller --onefile osips.py

用法

python osips.py [-h] [-F INPUTFOLDER] [-f INPUTFILE] [-p INPUTFILESPATTERN] [-o OUTPUTFILESNAME] [-t {y,n,Y,N}] [-w {y,n,Y,N}] [-l {y,n,Y,N}] [-locationEndpoint LOCATIONENDPOINT]

交互模式

python osips.py

非交互模式

python osips.py --checkTor Y --checkWhoIs Y --checkLocations Y --inputFolder testFolder/ --inputFilesPattern * --outputFilesName test

帮助

python osips.py -h

选项

  • -h, --help 显示帮助信息并退出
  • -F INPUTFOLDER, --inputFolder INPUTFOLDER 包含 IP 地址文件的文件夹(日志文件、邮件文件、文本文件等)。IP 地址可以是 IPv4 和/或 IPv6,并可位于文件中的任意位置。脚本将解析文件夹中的每个文件并扫描每个 IP
  • -f INPUTFILE, --inputFile INPUTFILE 使用此选项仅扫描一个文件,而不是一个文件夹。该文件可以是任何包含 IP 地址的文本文件(日志文件、邮件文件、文本文件等)
  • -p INPUTFILESPATTERN, --inputFilesPattern INPUTFILESPATTERN 输入文件夹中文件的匹配模式。例如:* 表示所有文件,*.txt 表示文本文件
  • -o OUTPUTFILESNAME, --outputFilesName OUTPUTFILESNAME 输出文件的名称,不含扩展名。将以此名称创建 4 个不同的文件:一个存储 IP 详细信息的 CSV 文件、一个存储 IP 索引的索引文件、一个存储详细信息的 JSON 文件以及一个存储地理位置的 KML 文件
  • -t {y,n,Y,N}, --checkTor {y,n,Y,N} 指定是否要对照 TOR 中继 IP 地址检查每个公网 IP 地址
  • -w {y,n,Y,N}, --checkWhoIs {y,n,Y,N} 指定是否要为每个公网 IP 地址提取 WhoIs 信息
  • -l {y,n,Y,N}, --checkLocations {y,n,Y,N} 指定是否要对每个公网 IP 地址进行地理编码,并使用 https://reallyfreegeoip.org 提取位置信息
  • -locationEndpoint LOCATIONENDPOINT 默认的地理位置 REST 端点为 "https://reallyfreegeoip.org/json/"。你可以指定不同的端点,包括 占位符。结果必须是 JSON 格式,并且必须包含以下字段:country_name, region_code, region_name, city, zip_code, time_zone, latitude, longitude, metro_code

备注

  • 该工具仅提取点分十进制表示法的 IPv4 地址(xxx.xxx.xxx.xxx)。它不提取十进制、八进制或十六进制表示法的 IPv4 地址,因为误报率较高。
  • 根据找到的公网 IP 地址数量,查询在线服务可能需要很长时间。如果你要处理大量 IP 地址,建议先在不查询任何服务的情况下运行该工具,仅提取 IP 地址。查看提取结果后,你可以估算出在查询服务时工具的总运行时间,并最终选择只查询其中一两个服务。
  • TOR 中继是在运行工具时实时检查的。由于这些 IP 地址不断变化,该信息可能不太准确。如果某个 IP 地址还能确定日期,则应在此地址 https://metrics.torproject.org/exonerator.html 上使用 ExoneraTor 进行核查。
  • Who Is 信息和位置信息均从公开可用的服务实时获取,因此 IP 地址会被发送到这些服务。虽然存在可下载的数据库,允许你在本地收集这些信息,但下载这些数据库并非免费,且需要持续更新。本工具不适用于本地数据库。
  • 用于位置收集的默认服务是 https://reallyfreegeoip.org。这是一个免费且无限制的服务,但可能不够精确。你可以通过脚本的 -locationEndpoint 参数将其更换为其他服务。你可以提供另一个将 IP 地址作为参数并返回 JSON 响应的服务。使用 作为 IP 地址位置的占位符。示例:https://ipapi.co//json、https://api.ipstack.com/?access_key=ACCESS_KEY、https://freeapi.robtex.com/ipquery/。请注意,某些其他 REST 端点可能不返回所需字段,从而破坏脚本逻辑。在这种情况下,应相应修改名为 RequestInfoFromRestEndpoint 的方法。

致谢

  • IPv6 正则表达式 - https://gist.github.com/dfee/6ed3a4b05cfe7a6faf40a2102408d5d8
  • Onion Peeler: 批量 TOR 查询程序 - http://az4n6.blogspot.com/2017/02/onion-peeler-batch-tor-lookup-program.html
下载工具