Alvalek/STower
GitHub: Alvalek/STower
一个专为网络安全教育设计的多线程端口扫描器,演示基础网络与并发编程并支持结果导出。
Stars: 0 | Forks: 0
# STower (Signal Tower)




**STower** 是一个多线程端口扫描器,专为网络安全教育和授权网络审计设计。它结合了速度、准确性和详细的服务检测,提供了一个专业级的侦察工具。
## 描述
该工具通过 TCP 套接字连接扫描目标 IP 地址以识别开放端口。它展示了基础网络概念、Python 套接字编程和多线程技术。
## 实时演示
以下是 **终端仪表板** 界面的概览:
## 功能
- 多线程:使用 Python 的 threading 模块进行并发扫描,实现快速结果。
- 横幅抓取:自动获取服务横幅并识别软件版本(例如 Apache、Nginx、SSH)。
- 数据导出:将扫描结果保存为 JSON 或 CSV 格式以便进一步分析。
- 终端仪表板:一个带有实时状态更新的简洁彩色 CLI 界面。
## 合法与伦理使用
**重要提示**:此工具仅适用于授权的安全测试。
- 需要授权:在未获得所有者明确书面许可的情况下,扫描任何网络、服务器或设备都不是一个好主意。
- 法律合规:未经授权的扫描可能违反法律,例如美国的《计算机欺诈和滥用法案》(CFAA)、英国的《计算机滥用法》以及全球类似立法。
- 项目背景:此项目是为教育目的而创建,用于展示 Python 套接字编程、多线程和网络安全性概念方面的熟练程度。
- 测试环境:所有测试均在受控、授权环境中进行(本地主机、本地实验室以及授权平台,例如 Hack The Box)。
## 安装
**前提条件**:
- Python 3.8 或更高版本
- pip 包管理器
**安装步骤**:
1. 克隆仓库: ``` git clone https://github.com/Alvalek/stower.git cd stower ``` 2. 安装依赖项: ``` pip install -r requirements.txt ``` (注:目前仅需要 tqdm 用于进度条) ## 用法 **基础扫描**
扫描默认范围(1–1024)上的目标: ``` python stower.py -t 127.0.0.1 ``` **自定义端口范围**
扫描特定端口或范围: ``` # 范围 python stower.py -t 127.0.0.1 -p 1-10000 # 特定端口 python stower.py -t 127.0.0.1 -p 80,443,8080,3306 ``` **导出结果**
将输出保存到文件以进行分析: ``` # JSON 格式 python stower.py -t 127.0.0.1 -o results.json -f json # CSV 格式 python stower.py -t 127.0.0.1 -o results.csv -f csv ``` **调整线程数**
增加并发以加快扫描速度(默认值为 50): ``` python stower.py -t 127.0.0.1 -T 100 ``` **完整帮助菜单**
``` python stower.py --help ``` ## 项目结构 ``` stower/ ├── stower.py # Main application logic ├── requirements.txt # Python dependencies ├── README.md # Project documentation ├── .gitignore # Git ignore rules └── tests/ # Unit tests (coming soon) ``` ## 智能主机发现(`--discover`) STower 使用 **混合发现方法**: ``` python stower.py -t 192.168.1.1 --discover ``` 首先使用 ICMP ping,如果失败则回退到对端口 80、443 和 22 的 TCP 握手,以防止在无效主机上浪费时间。 ## 许可证 MIT © STower
创建者 - [Alvalek](https://github.com/Alvalek)
## 功能
- 多线程:使用 Python 的 threading 模块进行并发扫描,实现快速结果。
- 横幅抓取:自动获取服务横幅并识别软件版本(例如 Apache、Nginx、SSH)。
- 数据导出:将扫描结果保存为 JSON 或 CSV 格式以便进一步分析。
- 终端仪表板:一个带有实时状态更新的简洁彩色 CLI 界面。
## 合法与伦理使用
**重要提示**:此工具仅适用于授权的安全测试。
- 需要授权:在未获得所有者明确书面许可的情况下,扫描任何网络、服务器或设备都不是一个好主意。
- 法律合规:未经授权的扫描可能违反法律,例如美国的《计算机欺诈和滥用法案》(CFAA)、英国的《计算机滥用法》以及全球类似立法。
- 项目背景:此项目是为教育目的而创建,用于展示 Python 套接字编程、多线程和网络安全性概念方面的熟练程度。
- 测试环境:所有测试均在受控、授权环境中进行(本地主机、本地实验室以及授权平台,例如 Hack The Box)。
## 安装
**前提条件**:
- Python 3.8 或更高版本
- pip 包管理器
**安装步骤**:1. 克隆仓库: ``` git clone https://github.com/Alvalek/stower.git cd stower ``` 2. 安装依赖项: ``` pip install -r requirements.txt ``` (注:目前仅需要 tqdm 用于进度条) ## 用法 **基础扫描**
扫描默认范围(1–1024)上的目标: ``` python stower.py -t 127.0.0.1 ``` **自定义端口范围**
扫描特定端口或范围: ``` # 范围 python stower.py -t 127.0.0.1 -p 1-10000 # 特定端口 python stower.py -t 127.0.0.1 -p 80,443,8080,3306 ``` **导出结果**
将输出保存到文件以进行分析: ``` # JSON 格式 python stower.py -t 127.0.0.1 -o results.json -f json # CSV 格式 python stower.py -t 127.0.0.1 -o results.csv -f csv ``` **调整线程数**
增加并发以加快扫描速度(默认值为 50): ``` python stower.py -t 127.0.0.1 -T 100 ``` **完整帮助菜单**
``` python stower.py --help ``` ## 项目结构 ``` stower/ ├── stower.py # Main application logic ├── requirements.txt # Python dependencies ├── README.md # Project documentation ├── .gitignore # Git ignore rules └── tests/ # Unit tests (coming soon) ``` ## 智能主机发现(`--discover`) STower 使用 **混合发现方法**: ``` python stower.py -t 192.168.1.1 --discover ``` 首先使用 ICMP ping,如果失败则回退到对端口 80、443 和 22 的 TCP 握手,以防止在无效主机上浪费时间。 ## 许可证 MIT © STower
创建者 - [Alvalek](https://github.com/Alvalek)
标签:Banner抓取, CLI界面, CSV, DFIR, DNS枚举, JSON, Python, Qt框架, Socket编程, TCP连接, 云存储安全, 侦察工具, 并发扫描, 授权审计, 数据导出, 数据统计, 文档结构分析, 无后门, 服务识别, 生产就绪, 端口扫描, 终端仪表盘, 网络安全工具, 网络安全教育, 网络扫描, 逆向工具