GhostTrack 批量定位实战:3 步改动同时追踪多个 IP 与手机号
2026/9/11 6:06:07 网站建设 项目流程

GhostTrack 批量定位实战:3 步改动同时追踪多个 IP 与手机号

【免费下载链接】GhostTrackUseful tool to track location or mobile number项目地址: https://gitcode.com/GitHub_Trending/gh/GhostTrack

GhostTrack 是一款基于 Python 的 IP 定位与手机号追踪工具,默认一次只能手动查一个目标。本文教你在本地副本上给它加上批量追踪能力:读入一个目标清单文件,自动逐个完成 IP 定位和手机号归属地查询,一次跑完整批记录。

一次查一个太慢:批量定位要解决什么

打开 GhostTrack,主菜单有四个功能:IP 追踪、查本机 IP、手机号追踪、用户名追踪。每个功能都靠input()收一个目标,查完按回车回菜单。手动查一两个无所谓,但当你手头有一批线索时——比如从不同来源收集的几十条 IP 和号码——重复"选菜单 → 输目标 → 等待 → 回菜单"的流程就很折磨了。

💡 思路其实不复杂:把目标写进一个文本文件,再补一个batch_track()函数循环调用现有的追踪逻辑。整个改动只发生在你本地的运行副本上,共 3 处,十几分钟就能跑通。

环境准备:装好依赖并写好目标清单

先拉取代码并安装依赖,只有requestsphonenumbers两个包:

git clone https://gitcode.com/GitHub_Trending/gh/GhostTrack cd GhostTrack pip3 install -r requirements.txt python3 GhostTR.py

接下来准备目标清单文件,比如targets.txt,每行一个目标:

8.8.8.8 192.168.1.1 +44208366177 +1234567890

注意两个格式细节:IP 写标准的四段形式;手机号务必带国际区号的+前缀,因为工具默认按印尼区解析号码,漏了+很容易把归属地判错。

核心实现:批量追踪代码怎么改

先说明为什么不能直接循环调用现有函数——IP_Track()phoneGW()内部第一行都是input()交互收目标。所以需要小改一下,让它们支持"外部传入目标"。

改动一,把 GhostTR.py 中IP_Track的入参改成可选(phoneGW同理):

def IP_Track(ip=None): if not ip: ip = input(f"{Wh}\n Enter IP target : {Gr}")

这样从菜单进时行为和原来完全一致,批量调用时则可以直接传参,不触发交互。

改动二,在文件里新增批量入口函数(记得顶部补一行import re):

def batch_track(): file_path = input(f"{Wh}Enter target list file path: {Gr}") with open(file_path, 'r', encoding='utf-8') as f: targets = [line.strip() for line in f if line.strip()] for target in targets: print(f"\n{Wh}Tracking target: {Gr}{target}") if target.startswith('+'): phoneGW(target) elif re.match(r'^\d+\.\d+\.\d+\.\d+$', target): IP_Track(target) else: print(f"{Re}Skip, format not recognized: {target}")

这段做的事很直白:读文件、过滤空行、逐个判断目标类型再分派给对应追踪函数。用正则而不是"能解析就试"来做格式校验,是为了让坏行快速跳过、不拖住整批任务。

改动三,把新入口挂进options列表(放在Exit前面):

{ 'num': 5, 'text': 'Batch Tracking', 'func': batch_track },

把这段加进去,菜单就会多出第 5 项 Batch Tracking。

跑通效果:从菜单到批量结果

运行python3 GhostTR.py,选 5,输入targets.txt,回车后就开始逐个查询。每个目标输出一块字段:IP 目标会看到类型、国家、城市、经纬度、运营商;手机号目标则输出位置、区域码、时区、运营商等。

这里有个小细节值得知道:IP_TrackphoneGW都套了@is_option装饰器,每次被调用会先自动重绘 banner、清屏,所以批量输出天然按目标分块,不用自己加分隔符。另外每个函数内部有time.sleep(2),10 个目标至少等 20 秒,属于正常现象。

进阶玩法:三个可落地的扩展方向

  • 导出 CSV:在循环里顺手用csv模块把(target, 结果)追加写文件,跑完直接得到一张可分析的结果表,不用手动复制。
  • 定时轮询:把批量逻辑包成独立脚本,交给 crontab 每隔几小时重跑同一份清单,观察目标位置或归属的变化。
  • 结果分组:跑完后按country_code或运营商聚合打印统计,一眼看出哪些目标集中在同一地区或同一运营商。

避坑指南:跑批量前先看这里

⚠️ 合规第一:这类工具请只用于合法场景(自有网络设备排查、安全研究、经授权的 OSINT 调查),不要用来追踪他人。

  • 不带+的手机号会被按印尼本地号解析,归属地基本必错,清单里务必统一用国际格式。
  • IP 查询依赖 ipwho.is 外部接口,私有地址(如 192.168.x.x)部分字段可能缺失甚至抛异常,建议在循环外层套一层try/except,避免一个坏目标中断整批。
  • 大批量目标会持续消耗网络资源,代码里那 2 秒sleep其实是保护接口和避免封限的手段,别为了"快"删掉。
  • 读文件时显式指定encoding='utf-8',Windows 中文环境下不指定可能直接报编码错。

想深入了解各功能细节,可以翻一翻 README.md 和 GhostTR.py 的源码,整个文件不到 300 行,通读一遍对理解菜单驱动程序的写法也有帮助。

【免费下载链接】GhostTrackUseful tool to track location or mobile number项目地址: https://gitcode.com/GitHub_Trending/gh/GhostTrack

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询