一个菜单查 IP、电话、用户名:GhostTrack OSINT 查询工具实操指南
【免费下载链接】GhostTrackUseful tool to track location or mobile number项目地址: https://gitcode.com/GitHub_Trending/gh/GhostTrack
GhostTrack 是一个用 Python 编写的 OSINT(开源情报,Open Source Intelligence)查询工具,把 IP 归属地查询、电话号码归属解析、用户名跨平台注册排查合并进同一个终端菜单,无需数据库、不落地存储,所有结果都是对公开服务的实时请求。三类查询返回哪些字段、哪些结果最容易误读,本文逐一讲清,帮助你在拿到输出后快速判断信息的可信边界。
GhostTrack 能做什么:三类 OSINT 查询的能力矩阵
GhostTrack 把常用查询收敛为 5 个菜单项,数据全部来自公开渠道,其中号码解析走本地离线库,其余依赖网络接口——这直接决定了各自结果的稳定性,对照表格可以先建立整体预期:
| 菜单 | 功能 | 数据来源 | 返回内容 |
|---|---|---|---|
| 1. IP Tracker | IP 归属地查询 | 公开接口 ipwho.is | 国家、城市、经纬度、ISP、ASN、时区等几十个字段 |
| 2. Show Your IP | 查自己的公网出口 IP | 公开接口 ipify | 单一 IP 字段 |
| 3. Phone Number Tracker | 号码归属与类型解析 | 本地库 phonenumbers(离线) | 归属地、时区、运营商、号码类型 |
| 4. Username Tracker | 用户名跨平台排查 | 逐平台发送 GET 请求 | 主页链接或 Username not found |
| 0. Exit | 退出程序 | — | — |
一个值得注意的差别:菜单 3 不发起网络请求,结果由本地数据表推导,速度快且格式稳定;菜单 1、2、4 的字段与状态码则取决于对方服务当时是否可达,解读时要把这一点放在心里。
GhostTrack 安装与启动:完整命令
前置条件只有一项:Python 3 环境与可外访的网络。依赖清单里只有requests和phonenumbers两个库,完整列表见 requirements.txt,Linux 与 Termux 上均可运行:
# 安装 git 与 Python 3(Termux 环境改用 pkg install git / pkg install python3) sudo apt-get install -y git python3 # 克隆项目仓库并进入目录 git clone https://gitcode.com/GitHub_Trending/gh/GhostTrack cd GhostTrack # 安装 Python 依赖 pip3 install -r requirements.txt # 启动主程序 python3 GhostTR.py启动后终端会清屏,打印一个 ASCII 幽灵徽标与主菜单,用数字选择功能。每次查询结束后按一次回车即可回到菜单,反复查询不需要重启程序。
整个仓库结构很精简:主程序 GhostTR.py、说明文档 README.md、依赖清单,以及存放截图的asset/目录,阅读源码的入口就是那一个.py文件。
IP 归属地查询结果怎么读:地域、ISP 与时区
菜单 1 一次返回几十行字段,建议按"网络归属 → 地理范围 → 时间对齐"三步来读,先抓ISP/ORG/ASN判断这段 IP 属于哪家机构,再看City与经纬度框定地理范围,最后用Current Time与访问日志对时间线。
以 Cloudflare 的公共 DNS 地址1.1.1.1为例,关键节选如下(完整输出还包括邮编、首都、国旗 emoji、DST、UTC 偏移等字段):
| 字段 | 示例值 | 解读要点 |
|---|---|---|
| Type IP | IPv4 | 协议版本 |
| Country / City | United States / San Francisco | 归属地,精度通常到城市 |
| Latitude / Longitude | 37 / -122 | 脚本自动拼成地图链接(Maps 字段) |
| ISP / ORG / ASN | Cloudflare, Inc. / AS13335 | 网络归属与运营商 |
| timezone ID | America/Los_Angeles | 该 IP 所在地时区 |
| Current Time | 当地当前时间 | 与日志时间戳对齐用 |
菜单 2:查自己的公网出口 IP
菜单 2 无需输入,直接返回本机当前对外的公网 IP。常见用途:确认自己是否走在了代理或 NAT 之后,或在远程登录、发布服务前记录当次出口地址,方便日后核对。
号码归属查询结果怎么读:归属地、时区与号码类型
菜单 3 基于phonenumbers库做离线解析,输入需带国家码的国际格式,例如新加坡固话+6561234567。输出字段不多,但每一项都有明确用途:
| 字段 | 示例值 | 含义 |
|---|---|---|
| Location | Singapore | 号码归属地 |
| Region Code | SG | ISO 地区代码 |
| Timezone | Asia/Singapore | 对应时区 |
| Operator | 空 | 运营商,固话常无法解析 |
| Valid / Possible number | True / True | 格式有效性校验 |
| E.164 format | +6561234567 | 标准化国际格式 |
| Type | fixed-line | 移动 / 固话 / 其他类型 |
典型用法是表单核验:对来路不明的手机号,先确认归属地与号码类型是否符合预期,再决定是否进一步人工核实。
用户名跨平台查询结果怎么读:23 个平台的注册状态
菜单 4 对平台清单逐一发起 GET 请求:返回 HTTP 200 即判定"存在",打印主页链接;否则标注Username not found。清单覆盖 Facebook、Instagram、TikTok、YouTube、GitHub、Medium、SoundCloud、Twitch 等 23 个社交、创作与内容平台,各平台的 URL 前缀并不统一(有的带@,有的走/in/、/people/路径),完整列表定义在 GhostTR.py 的social_media数组里。
输入用户名nightwatcher后,输出按平台逐行打印,节选如下:
| 平台 | 返回 |
|---|---|
| GitHub | https://www.github.com/nightwatcher |
| SoundCloud | https://soundcloud.com/nightwatcher |
| Medium | https://www.medium.com/@nightwatcher |
| YouTube | Username not found |
一个小细节:配置里 Snapchat 出现了两次,脚本实际会向它发两次请求,但结果按平台名去重后只展示一行。
常见误判与边界:GhostTrack 结果最容易读错的地方
结论先行:GhostTrack 返回的一切都是"归属信息"而非"人的精确定位",以下四处边界在解读时最容易被忽略。💡
- IP 归属 ≠ 人的位置。查到的城市、ISP 描述的是这段 IP 的地理与网络归属:移动网络定位精度到省/市,CDN 与云服务商 IP 对应的是机房位置,使用者本人可以在任何地方。
- "Username not found" 不是百分之百的否定。脚本只看状态码,部分平台对不存在的账号也返回 200(假"命中"),部分平台因反爬或验证机制对缺失账号返回非 200(假"未命中")。关键结论务必手动打开平台复核。
- 号码的 Operator 经常为空。固话与大量虚拟号段没有运营商映射,字段为空不代表号码有误,也不能反推归属地。
- 不带国家码的输入会按印尼号码解析。源码中默认解析区域是
ID,漏掉+国家码时,本地号段会被当作印尼号码处理,得到的归属地会整体偏移。 - 字段真伪取决于第三方接口。
ipwho.is与ipify都可能限流或返回过期数据,程序本身不做二次校验,异常结果应换源复核。
对照手工查询,这套工具省下的正是重复劳动:不必记 23 个平台的 URL 格式、不必在多个网站间切换复制粘贴,IP、号码、用户名三类信息在同一个终端流里连续出结果,适合日志溯源、号码核验、OSINT 教学演示,以及顺手自查一下自己的出口 IP 归属。
【免费下载链接】GhostTrackUseful tool to track location or mobile number项目地址: https://gitcode.com/GitHub_Trending/gh/GhostTrack
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考