CiLocks IP信息抓取揭秘:curl+grep解析ip-tracker.org页面的底层逻辑
【免费下载链接】CiLocksCrack Interface lockscreen, Metasploit and More Android/IOS Hacking项目地址: https://gitcode.com/GitHub_Trending/ci/CiLocks
CiLocks(cilocks)是一款面向 Android/iOS 的攻防学习工具箱,其中的IP Logger(IP 信息抓取)功能可以让攻击者通过一个链接,远程获取目标设备的 IP、地理位置、运营商(ISP)、AS 号等情报。本文带你看懂它的核心底层逻辑:用 curl 抓取 ip-tracker.org 的查询页面,再用 grep + cut 从 HTML 中"拆"出每一个字段,不依赖任何第三方 API。
一键启动 IP Logger:目标 IP 是怎么"送上门"的
在主菜单中选择13. IP Logger {Over Internet}后,脚本会自动完成三件事:
- 下载并启动 ngrok:把本地服务暴露成公网链接(
*.ngrok.io) - 启动本地 PHP 服务器:
php -S 127.0.0.1:3333托管 info/ 目录 - 打印链接:把 ngrok 生成的地址显示出来,发给目标即可
目标点开链接后,请求先经过 index.php——它只做一件事:include 'ip.php'然后 302 重定向到定位页面。而 info/ip.php 才是真正的"抓包手":
- 依次尝试
HTTP_CLIENT_IP→HTTP_X_FORWARDED_FOR→REMOTE_ADDR三个来源,兜底保证能拿到真实公网 IP(即使目标走了代理) - 同时记录浏览器
User-Agent - 以追加模式写入
info/ip.txt,并持续累加到 info/saved.ip.txt
接着 info/index2.html 会调用浏览器navigator.geolocation索取定位权限,拿到经纬度、精度、设备内存、屏幕尺寸等信息后,跳转到 info/get.php,写入info/geolocate.txt——这就是 CiLocks 能连"目标在哪条街"都查到的原因。
curl+grep 解析 ip-tracker.org:核心字段拆解逻辑
主脚本 cilocks 中的catch_ip()函数是整条链路的"大脑",它先用grep从info/ip.txt中提取出目标 IP,然后执行一次关键的 HTTP 请求:
curl -s -L "www.ip-tracker.org/locator/ip-lookup.php?ip=$ip" \ --user-agent "Mozilla/5.0 ... Chrome/26.0.1410.63" > iptracker.log三个细节值得注意:
-s -L:静默模式 + 自动跟随重定向,避免报错污染日志- 伪装 Chrome 的 User-Agent:ip-tracker.org 会拒绝默认的 curl 标识,伪装成浏览器才能正常返回页面
- 输出重定向到
iptracker.log:先把完整 HTML 落盘,方便反复提取
ip-tracker.org 的查询结果是一个 HTML 表格,每个字段长这样:<th>ISP:</th><td>xxx</td>。脚本利用**"字段名 +.*截断匹配"**的套路逐个抽取,例如:
| 目标字段 | 解析思路 |
|---|---|
| Continent | grep -o 'Continent.*'匹配到行尾,再用cut -d ">" -f3按>切分取第 3 段 |
| Country | 同上套路,改用cut -d "&" -f1截断,防止把后续字符(如 )带进来 |
| City / ISP / AS Number / 带宽 / 货币 | 全部复用grep -o '字段名:.*' + cut的组合拳 |
| Hostname / Reverse DNS | 直接匹配</td></tr><tr><th>Hostname:.*这种表格结构特征,比匹配字段名更精准 |
cut -d ">" -f3的含义是:以>为分隔符,取第 3 个片段——恰好对应<th>字段:</th>之后、</td>之前的文本。整个函数最后会打印出Hostname、Reverse DNS、大洲、国家、州、城市、ISP、AS 号、带宽、当地货币共 10 项情报,最后rm掉临时日志保持现场干净。
这种"grep 正则定位 + cut 分段切割"的写法,就是典型的Unix 管道哲学:不写一行解析器,纯靠文本工具就把整个 HTML 表格"解剖"了一遍。
ngrok 隧道:本地 PHP 如何变成公网链接
很多人会问:127.0.0.1:3333明明是本地地址,目标怎么访问?答案在 cilocks 的start()函数里:
php -t "info/" -S 127.0.0.1:3333 & ./ngrok http 3333 & link=$(curl -s -N http://127.0.0.1:4040/api/tunnels | grep -o "https://[0-9a-z-]*\.ngrok.io")- ngrok 在本地
4040端口提供 API,curl请求后再次用grep -o正则从 JSON 中抠出转发域名 - 这个技巧在 tmp.php 和 tmp.html 中也被复用:用
sed把占位符forwarding_link替换成真实 ngrok 地址,动态生成最终的 index.php 与 index2.html
至此,"本地 PHP 收数据 → ngrok 出公网链接 → 目标点击 → curl 反查 ip-tracker.org" 的完整闭环就形成了。
关键文件速查
- 主脚本(
catch_ip解析逻辑):cilocks - IP 记录端:info/ip.php、index.php
- 定位采集页:info/index2.html、info/get.php
- 已保存 IP 情报:info/saved.ip.txt
- 静态伪装模板:tmp.php、tmp.html
⚠️ 学习提示
本文仅作技术原理剖析与网络安全学习之用。IP 追踪、定位采集等手段若用于未授权目标,属于违法行为。请仅在授权环境中演练,遵守《README》中 "Please Don't Use for illegal Activity" 的声明。
【免费下载链接】CiLocksCrack Interface lockscreen, Metasploit and More Android/IOS Hacking项目地址: https://gitcode.com/GitHub_Trending/ci/CiLocks
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考