M-Ihsan/PAWRecon
GitHub: M-Ihsan/PAWRecon
一款纯 Python 构建的轻量级侦察工具,提供端口扫描与子域名枚举功能,兼顾实战与教学。
Stars: 0 | Forks: 0
```
____ _ __ __ ____ _____ ____ ___ _ _
| _ \ / \ \ \ / / | _ \| ____/ ___/ _ \| \ | |
| |_) / _ \ \ \ /\ / / | |_) | _|| | | | | | \| |
| __/ ___ \ \ V V / | _ <| |__| |__| |_| | |\ |
|_| /_/ \_\ \_/\_/ |_| \_\_____\____\___/|_| \_|
```
### 🐾 渗透与侦察工作坊 — 侦察工具包 🐾
**网络端口扫描器 + 子域名枚举器,使用纯 Python 构建 — 无任何第三方依赖。**
[](https://www.python.org/)
[]()
[]()
## 🐱 什么是 PAW RECON?
**PAW RECON** 是一款轻量级、菜单驱动的 CLI 侦察工具,专为渗透测试的早期侦察阶段而设计。它的代码结构足够简单,可以让你从头到尾轻松阅读,同时在进行目标攻击面的初步检查时也非常实用。
它专注于做好两件事:
| 🐾 | 模块 | 功能描述 |
|---|---|---|
| 1️⃣ | **网络端口扫描器** | 检查目标 IP 是否开放 30 多个常用端口(SSH、HTTP/S、FTP、SMB、数据库、RDP、VNC 等) |
| 2️⃣ | **子域名枚举器** | 通过 DNS 解析目标域名的 50 多个常见子域名前缀(`admin`、`api`、`dev`、`staging`、`vpn`...) |
## 🐾 功能特点
- 🎨 交互式彩色终端菜单(使用 ANSI 转义代码 — 无需任何额外的库)
- 🔍 覆盖 30 多个常用端口的 TCP 端口扫描器,实时输出 OPEN/CLOSED 状态
- ✅ 在扫描开始前对目标 IP 进行输入验证
- 🌐 包含精心挑选的 50 多个词条词表的子域名枚举器
- 📊 每次扫描结束后自动生成摘要
- 💾 可选的保存到文件功能 — 结果将作为带有时间戳的报告写入 `Reports/` 目录
- ⌨️ 扫描期间的优雅 `Ctrl+C` 处理 — 不会发生难看的崩溃
- 🐍 100% 使用 Python 标准库 — 无需进行任何 `pip install`
## 🐈 演示
```
PAW> 1
==============================================
NETWORK PORT SCANNER
==============================================
Enter target IP: 192.168.1.10
Scanning: 192.168.1.10
Started: 2026-07-21 14:32:00
[OPEN] Port 22 SSH
[CLOSED] Port 23 Telnet
[OPEN] Port 80 HTTP
[OPEN] Port 443 HTTPS
...
==============================================
SCAN COMPLETE
Open ports found: 3
==============================================
```
*(请在下方查看 [截图](PAW_screenshots) 🐾)*
## 🐾 快速开始
### 环境要求
- Python 3.x
- 就这些。不需要 pip 安装,也不需要虚拟环境。
### 安装
```
git clone https://github.com/M-Ihsan/PAWRecon.git
cd PAWRecon
```
### 运行
```
python3 pawrecon.py
```
你将进入主菜单:
```
==============================================
Select an option:
[1] Network Port Scanner
[2] Subdomain Enumerator
[3] About PAW RECON
[4] Exit
==============================================
```
## 🐱 用法
| 选项 | 操作 |
|---|---|
| `1` | 输入目标 IPv4 地址 → 扫描 30 多个常用端口 → 显示 OPEN/CLOSED 结果 → 可选择保存至 `Reports/` |
| `2` | 输入目标域名(例如 `example.com`) → 检查 50 多个子域名前缀 → 显示 FOUND/MISS 结果 → 可选择保存至 `Reports/` |
| `3` | 显示工具信息:版本、作者、用途 |
| `4` | 退出程序 |
保存的报告将存放在本地的 `Reports/` 文件夹中,命名格式如下:
```
Reports/pawrecon_scan_192.168.1.10_20260721_143200.txt
Reports/pawrecon_subs_example.com_20260721_144510.txt
```
## 🐾 项目结构
```
pawrecon/
├── pawrecon.py # main script — everything lives here
├── Reports/ # auto-created, holds saved scan/enum results
└── README.md
```
## 🐈⬛ 工作原理
- **端口扫描器** — 为每个端口打开一个 TCP socket,设置 1 秒超时并调用 `connect_ex()`;返回值为 `0` 表示该端口开放。
- **子域名枚举器** — 将词表中的每个词条作为前缀添加到目标域名前,并调用 `socket.gethostbyname()`;成功解析即表示该子域名存活。
## 🐾 截图
| 横幅与菜单 | 端口扫描 | 子域名枚举 |
|---|---|---|
|  |  |  |
## 🐱 路线图
- [ ] 自定义端口范围 / 词表输入
## 🐾 免责声明
PAW RECON 仅供**教育目的及经授权的安全测试使用**。未经明确许可扫描系统或域名在您所在的司法管辖区可能属于违法行为。作者不对本工具的滥用行为负责。
## 🐈 作者
**Muhammad Ihsan**
作为渗透与侦察工作坊项目的一部分而构建。
🐾 *充满好奇心、金枪鱼和一只好奇猫咪的杰作* 🐾
标签:Python, 主机安全, 子域名枚举, 插件系统, 数据统计, 无后门, 端口扫描, 系统安全, 逆向工具