arturLua/PortOracle
GitHub: arturLua/PortOracle
使用 Python socket 实现 TCP 连接探测的轻量端口扫描工具,帮助用户快速识别目标主机的开放端口并将结果导出为 JSON。
Stars: 0 | Forks: 0
PortOracle
###
PortOracle 是一个简单而有效的网络工具,旨在扫描和检测目标机器上特定端口的状态。它使用 Python 的 `socket` 库执行 TCP 连接尝试,并报告每个端口是开放还是关闭。
功能
- 简单直接
- 可配置扫描间的超时时间
- 清晰的输出报告,将开放端口导出为 JSON
- 可自定义目标主机和端口
## 环境要求
- Python 3.6+
## 安装说明
1. 克隆代码库:
```
git clone
cd PortOracle
```
2. 无需安装额外的包。
## 使用方法
使用命令行参数运行扫描器:
```
python main.py --ip [--start ] [--end ]
```
### 示例
- 扫描特定主机上的 1-1024 端口:
```
python main.py --ip scanme.nmap.org
```
- 扫描自定义端口范围:
```
python main.py --ip 192.168.1.1 --start 20 --end 100
```
- 扫描单个端口:
```
python main.py --ip example.com --start 80 --end 80
```
### 自定义扫描
扫描器接受以下参数:
- `--ip`:目标 IP 地址或主机名(必需)
- `--start`:起始端口号(默认值:1)
- `--end`:结束端口号(默认值:1024)
**当前默认配置:**
- **目标:** 通过 `--ip` 参数指定
- **端口范围:** 1-1024
- **超时时间:** 每次连接尝试 1 秒
### 输出示例
```
Port 22 is OPEN
Port 80 is OPEN
Port 443 is CLOSED
Port 8080 is CLOSED
...
```
## 配置
根据您的需求自定义扫描器:
1. **更改目标 IP/主机名:** 使用 `--ip` 参数
2. **更改端口范围:** 使用 `--start` 和 `--end` 参数
3. **调整超时时间:** 目前固定为 1 秒;如果需要,请修改 `main.py` 中的 `sock.settimeout(1)`
## 法律声明
默认配置扫描 `scanme.nmap.org`,该地址由 nmap.org 专门提供用于测试目的。标签:Homebrew安装, LangChain, PortOracle, Python, Python 3, Socket编程, TCP扫描, 主机探测, 二进制发布, 云存储安全, 开源工具, 插件系统, 数据统计, 无后门, 漏洞扫描辅助, 端口扫描, 端口状态检测, 网络安全, 网络工具, 网络扫描, 轻量级, 逆向工具, 隐私保护