ratelimitv1/ip-lookup
GitHub: ratelimitv1/ip-lookup
一个基于免费API的批量IP地理定位与威胁情报查询命令行工具。
Stars: 0 | Forks: 0
# IP 查询
批量IP地理定位与情报工具。可为单个或多个IP地址获取位置、ISP、组织及威胁标识(代理/VPN/主机托管)信息。使用免费的 ip-api.com 接口。
## 功能
- 单IP或批量查询模式
- 地理定位(国家、地区、城市、坐标)
- ISP与组织识别
- 威胁标识:移动网络、代理/VPN、主机托管/数据中心
- 遵循免费API层级的速率限制
- 结果保存为JSON和纯文本
- 多线程批量处理
## 要求
- Python 3.8+
- requests
- colorama
## 安装
```
git clone https://github.com/yourusername/ip-lookup.git
cd ip-lookup
pip install -r requirements.txt
```
## 使用方法
```
python main.py
```
交互式提示:
```
[?] Mode - (1) Single IP, (2) Bulk from ips.txt:
```
### 单IP模式
```
[?] Enter IP address: 8.8.8.8
```
内联显示完整信息。
### 批量模式
创建 `ips.txt` 文件,每行一个IP地址:
```
8.8.8.8
1.1.1.1
93.184.216.34
```
然后运行并选择模式2:
```
[?] Threads (Default: 5, max 5 for free API):
```
## 输出格式
```
12:04:31 SYS IPs loaded | 50
12:04:31 SYS Threads | 5 | Rate limit | 1.5s between requests
12:04:33 COP 8.8.8.8 | Mountain View, United States | Google LLC
12:04:34 COP 1.1.1.1 | Los Angeles, United States | Cloudflare Inc | [HOSTING]
12:04:36 DBG 10.0.0.1 | Failed | private range
12:04:40 INF Complete | 8.42s
12:04:40 COP Success | 48
12:04:40 DBG Failed | 2
12:04:40 INF JSON saved | output/lookup_20260519_120440.json
```
## API返回字段
| 字段 | 描述 |
|-----------|------------------------------------|
| ip | 查询的IP地址 |
| country | 国家名称 |
| region | 州/地区 |
| city | 城市名称 |
| zip | 邮政编码 |
| lat/lon | 坐标 |
| timezone | IANA时区 |
| isp | 互联网服务提供商 |
| org | 组织机构 |
| as | AS编号及名称 |
| mobile | 是否为移动网络连接 |
| proxy | 是否检测到代理/VPN/Tor |
| hosting | 是否为数据中心/主机托管IP |
## 速率限制
ip-api.com 免费层允许每分钟45次请求。工具默认在请求间强制实施1.5秒延迟。最大线程数限制为5个以保持在限额内。
如需更高吞吐量,可从 ip-api.com 获取付费API密钥并修改 main.py 中的 API_URL。
## 文件结构
```
ip-lookup/
main.py - Main script
ips.txt - Input IPs (one per line)
requirements.txt - Dependencies
output/ - Results (auto-created)
README.md - This file
```
## 许可证
MIT
标签:API安全, GitHub, IP情报, IP查询工具, ISP识别, JSON输出, Python, VPN检测, 主机检测, 代理检测, 免费API, 地理定位, 多线程处理, 威胁情报, 威胁标志, 开发者工具, 批量处理, 数据导出, 文本输出, 无后门, 组织识别, 网络安全, 计算机应急响应小组, 逆向工具, 隐私保护