Pinkish-Warrior/Passive
GitHub: Pinkish-Warrior/Passive
被动OSINT命令行工具,通过全名、IP、用户名或电话号码从公共目录和社交平台聚合开源情报。
Stars: 0 | Forks: 0
# passive
一款被动 OSINT CLI 工具,用于通过全名、IP 地址或用户名收集公开可用的信息。
## 要求
- Python 3.8+
- [Playwright](https://playwright.dev/python/) Chromium 浏览器(用于全名和用户名查询)
## 安装
```
# 1. 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate
# 2. 安装依赖
pip install -r requirements.txt
# 3. 安装 Playwright 的 Chromium 浏览器
playwright install chromium
# 4. 注册 `passive` 命令并生成 egg-info 文档
python setup.py develop
```
## 用法
```
passive --help
Welcome to passive v1.0.0
OPTIONS:
-fn Search with full-name
-ip Search with ip address
-u Search with username
-ph Search with phone number
```
### 全名查询 (`-fn`)
搜索法国(Pages Blanches)和英国(192.com Electoral Roll)的公共目录。
```
passive -fn "Jean Dupont"
First: Jean
Last: Dupont
[France — Pages Blanches]
Result 1:
Name: Dupont Jean
Address: 7 r du Progrès 75016 Paris
Phone: 01 23 45 67 89
[UK — 192.com]
Result 1:
Name: Jean Dupont
Area: London, Greater London, W1...
ER: ER2024-26
Saved in result.txt
```
### IP 地址查询 (`-ip`)
返回任何公共 IP 地址的 ISP、城市、国家和坐标。
私有和保留地址段(loopback、RFC1918 等)均得到了妥善处理。
```
passive -ip 127.0.0.1
ISP: N/A (Loopback address)
City: N/A
City Lat/Lon: N/A
Saved in result2.txt
```
```
passive -ip 8.8.8.8
ISP: Google LLC
City: Ashburn, United States
City Lat/Lon: (39.03) / (-77.5)
Saved in result3.txt
```
### 电话号码查询 (`-ph`)
返回运营商、位置、类型和有效性。号码必须包含国家代码。
```
passive -ph "+33612345678"
Phone: +33 6 12 34 56 78
Valid: yes
Type: mobile
Country: FR
Location: France
Carrier: SFR
Saved in result4.txt
```
### 用户名查询 (`-u`)
检查用户名是否在 7 个平台上存在。开头的 `@` 为可选项。
```
passive -u "@user01"
Username: @user01
[yes] https://github.com/user01
[yes] https://www.reddit.com/user/user01
[yes] https://twitter.com/user01
[no] https://www.tiktok.com/@user01
[yes] https://www.pinterest.com/user01
[yes] https://www.instagram.com/user01
[no] https://www.linkedin.com/in/user01
Saved in result4.txt
```
## 输出文件
结果会自动保存到 `output/` 文件夹:
| 运行次数 | 文件 |
|-----|------|
| 第 1 次 | `output/result.txt` |
| 第 2 次 | `output/result2.txt` |
| 第 3 次 | `output/result3.txt` |
| … | … |
## 检查平台 (`-u`)
| 平台 | 方法 |
|----------|--------|
| GitHub | HTTP GET |
| Reddit | JSON API (`/about.json`) |
| Twitter/X | Playwright |
| TikTok | HTTP GET |
| Pinterest | Playwright |
| Instagram | Playwright |
| LinkedIn | HTTP GET |
## 注意事项
- 全名模块使用 Playwright(无头 Chromium),因为 Pages Blanches 和 192.com 都是通过 JavaScript 渲染结果的。
- 192.com 仅显示姓名和地区;获取完整地址需要在其网站上注册免费账户。
- 所有功能均不需要 API 密钥。
## 审计结果

标签:BeautifulSoup, ESC4, GitHub, IP地理定位, OSINT, Playwright, Python, Requests, Splunk, URL抓取, 公开目录查询, 姓名查询, 字符串匹配, 安全工具库, 实时处理, 攻击路径可视化, 数据抓取, 无后门, 特征检测, 用户名查询, 电话号码查询, 社交媒体查询, 网络信息安全, 被动侦察, 逆向工具, 黑客工具