Adeolu-Noah-Agboola/Port_Scanner
GitHub: Adeolu-Noah-Agboola/Port_Scanner
基于Python Socket编程的TCP端口扫描器,用于识别开放端口和服务,支持日志自动记录与集中存储。
Stars: 0 | Forks: 0
# Python TCP 端口扫描器
## 概述
本项目是一个基于 Python 的 TCP 端口扫描器,旨在识别远程主机上的开放端口和运行中的服务。该扫描器通过尝试连接指定范围的端口并记录结果以供后续分析,从而自动化网络侦察。
开发该项目是为了加深对网络服务、系统暴露以及基础设施管理和安全环境中常用诊断技术的理解。
扫描结果会自动写入日志文件,并且该日志文件可以上传到 Web 服务器进行集中存储和审查。
## 功能特性
- 对远程主机进行 TCP 端口扫描
- 识别开放的网络服务
- 自动记录扫描结果
- 将扫描日志上传到 Web 服务器
- 可配置的目标主机和端口范围
- 轻量级且易于运行
## 技术栈
- Python 3
- Socket 编程
- 网络诊断
- 文件日志记录
- Web 服务器集成
## 扫描器工作原理
端口扫描器使用 Python 的 socket 库尝试与目标主机的特定端口范围建立 TCP 连接。
对于指定范围内的每个端口:
1. 尝试建立 TCP 连接
2. 如果连接成功,则识别该端口为开放状态
3. 将结果记录在结构化的日志文件中
4. 日志文件可选择上传到 Web 服务器
此过程模拟了网络诊断和安全测试中使用的侦察技术。
## 示例输出
```
Starting scan on target: 192.168.1.10
Port 22 : OPEN
Port 80 : OPEN
Port 443 : OPEN
Port 8080: CLOSED
```
将生成包含所有扫描结果的日志文件。
## 项目结构
```
Port_Scanner/
│
├── port_scanner.py
├── scan_log.txt
└── README.md
```
- **port_scanner.py** – 用于执行扫描的主要 Python 脚本
- **scan_log.txt** – 生成的文件,包含扫描结果
- **README.md** – 项目文档
## 安装说明
克隆仓库:
```
git clone https://github.com/Adeolu-Noah-Agboola/Port_Scanner.git
```
进入项目目录:
```
cd Port_Scanner
```
运行扫描器:
```
python port_scanner.py
```
## 使用场景
本项目可用于:
- 网络诊断
- 服务发现
- 学习 Socket 编程
- 基础设施故障排查
- 安全测试实践
## 未来改进
潜在的增强功能包括:
- 多线程扫描以提升性能
- 服务 Banner 抓取
- 与漏洞扫描器集成
- 改进报告和可视化
## 教育背景
本项目是作为网络和安全实践课程的一部分而开发的。它补充了涉及以下内容的其他实验:
- Linux 系统管理
- 使用 Wireshark 进行数据包捕获和流量分析
- 网络协议实验
- 在虚拟化环境中进行安全测试
## 免责声明
本工具仅供教育目的和经授权的安全测试使用。在扫描网络或系统之前,请务必确保您已获得明确许可。
标签:Awesome, Cronjob, ETW劫持, PE 加载器, Python, TCP连接, Web服务器集成, 二进制发布, 套接字编程, 密码管理, 开源工具, 情报分析, 插件系统, 数据统计, 无后门, 日志记录, 服务发现, 端口扫描, 系统管理, 网络安全, 网络诊断, 隐私保护