geminishkv/geoip-tool

GitHub: geminishkv/geoip-tool

基于 Bash 和免费 API 的轻量级 GeoIP 查询工具,支持终端批量查询、HTTP 方法探测,并可集成 Burp Suite 实现请求地理位置数据增强。

Stars: 4 | Forks: 1

GeoIP Recon

![Repo Size](https://img.shields.io/github/repo-size/geminishkv/geoip-tool) ![License](https://img.shields.io/github/license/geminishkv/geoip-tool) ![Status](https://img.shields.io/badge/status-active-success) ![Contributor Badge](https://img.shields.io/badge/Contributor-%D0%A8%D0%BC%D0%B0%D0%BA%D0%BE%D0%B2_%D0%98._%D0%A1.-8b9aff?style=flat) ![Contributors](https://img.shields.io/github/contributors/geminishkv/geoip-tool) ![Open pull requests](https://img.shields.io/github/issues-pr/geminishkv/geoip-tool) ![Commit Activity](https://img.shields.io/github/commit-activity/m/geminishkv/geoip-tool) ![Last commit](https://img.shields.io/github/last-commit/geminishkv/geoip-tool/main?style=flat-square&color=blue)
你好 :wave:,
本项目是一个用于在终端进行 GeoIP‑lookup 并作为 BurpSuit 插件进行数据丰富(enrichment)的迷你工具。目前这还是一个简陋的实现,后续会继续完善。它通过 `curl + jq` 和免费的 **ip-api.com** API(无需密钥)工作,同时也支持 ipapi-co 提供商。 ## **功能** * 基于 IP/域名或您当前 IP 进行 GeoIP lookup(美观格式)(包括 ipapi-co) * 用于流水线(pipeline)的 JSON 模式 * 基于文件中目标列表的批处理模式 * `http` 检查模式:尝试 `GET/ POST/ PUT/ DELETE/ HEAD/ OPTIONS/ TRACE` 方法。如果目标没有服务,或者 80 端口关闭,curl 将返回连接错误 * 在 `~/.cache/geoip-tool` 中缓存响应(减少对 API 的请求次数): * 通过扩展集成 Burp Suite:请求的 `GeoIP` 标签页,数据通过本地 `geoip json` 命令获取 * 记录 X-Rl/X-Ttl 头(可用于追踪限制) * 节流(Throttling) * stderr 中的 `_ipapi_request_raw` X-Rl 和 X-Ttl 头(用于 Burp 中的限制控制): ``` remaining=$(printf '%s\n' "$headers" | awk 'BEGIN{RS="\r\n"} /^X-Rl:/ {print $2}' || true) ttl=$(printf '%s\n' "$headers" | awk 'BEGIN{RS="\r\n"} /^X-Ttl:/ {print $2}' || true) if [[ -n "$remaining" || -n "$ttl" ]]; then >&2 echo "[ip-api] X-Rl=${remaining:-?} X-Ttl=${ttl:-?}" fi ``` ## 资料 ### 主要命令列表 ![help](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/dc56fec08b002610.jpg) ### http 命令列表 ![http_help](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6e812a7b01002612.jpg) ### http 示例 ![http_exmpl](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/42613c284f002617.jpg) ## **教程** ### 预配置 #### GHCR ``` docker run --rm ghcr.io/geminishkv/geoip-tool:v0.1.6 --help docker run --rm ghcr.io/geminishkv/geoip-tool:v0.1.6 lookup 8.8.8.8 docker run --rm -e GEOIP_PROVIDER=ipapi-co ghcr.io/geminishkv/geoip-tool:v0.1.6 json 1.1.1.1 ``` #### GitHub Release ``` $ curl -L https://github.com/geminishkv/geoip-tool/archive/refs/tags/v0.1.6.tar.gz -o geoip-tool-v0.1.6.tar.gz $ tar xzf geoip-tool-v0.1.6.tar.gz $ cd geoip-tool-0.1.6 $ sudo make install ``` #### 从 repo ``` $ git clone https://github.com/geminishkv/geoip-tool.git $ cd geoip-tool $ sudo make install ``` ### 测试 ``` $ bash <(curl -fsSL https://raw.githubusercontent.com/geminishkv/geoip-tool/main/bin/geoip) lookup 8.8.8.8 ``` ### 手册 ``` $ geoip json 1.1.1.1 | jq '.' # для JSON формата $ geoip file examples/ips.txt # на таргет $ geoip --provider ipapi-co json $ geoip http example.com $ geoip http example.com --path /admin $ geoip http example.com --https --follow $ geoip http example.com --auto --aggressive $ geoip http example.com --methods GET,HEAD,OPTIONS,TRACE ``` ## **仓库结构** ``` . ├── assets │ ├── exmpl.jpg │ ├── help.jpg │ ├── http_help.jpg │ └── logotypemd.jpg ├── bin │ └── geoip ├── CONTRIBUTING.md ├── Dockerfile ├── examples │ ├── burp-extension │ │ └── GeoIpTab.py │ └── ips.txt ├── lib │ ├── geoip_core.sh │ ├── geoip_http.sh │ └── geoip_lookup.sh ├── LICENSE.md ├── Makefile ├── NOTICE.md ├── README.md └── SECURITY.md ``` ## 限制与法律信息 本工具使用免费的 JSON-API [ip-api.com](http://ip-api.com): - 每个IP每分钟最多 **45 次请求**;超出后可能会返回 HTTP 429 并被暂时封锁 - 仅支持 HTTP(不支持 HTTPS) - 仅供 **非商业用途**,请参阅 [服务条款 / 隐私政策](http://ip-api.com/docs/legal) **您必须:** - 遵守请求限制(使用 `sleep` 和 `~/.cache/geoip-tool` 缓存) - 不得在商业产品/服务中使用该服务,除非升级到 Pro 套餐 - 使用前查阅 [ip-api.com](http://ip-api.com) 网站上的最新条款 **geoip-tool** 的作者不对因违反 [ip-api.com](http://ip-api.com) 条款或当地法律法规而导致的任何后果承担责任。 ## **参考** * [ip-api JSON API 文档](https://ip-api.com/docs/api:json) * [频率限制头 X-Rl / X-Ttl](https://ip-api.com/docs/unban) * [ip-api 服务条款 / 隐私政策(免费使用条款)](https://ip-api.com/docs/legal) Copyright (c) 2026 Elijah S Shmakov ![Logo](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/78662d93c7002619.jpg)
标签:API 调用, Burp Suite 插件, Curl, ESC4, GeoIP查询, GitHub, HTTP 检测, IP定位, JSON 处理, Linux 工具, OSINT, 侦察工具, 域名查询, 应用安全, 批量处理, 数据丰富化, 网络安全, 请求拦截, 逆向工具, 隐私保护