ahmedyassine-loussaief/port-scanner
GitHub: ahmedyassine-loussaief/port-scanner
一个基于 Python 原始 socket 构建的轻量级多线程 TCP 端口扫描器,支持 Banner 抓取与服务识别,不依赖任何外部扫描工具。
Stars: 0 | Forks: 0
# 端口扫描器
基于原始 socket 构建的 TCP 端口扫描器 —— 不依赖 Nmap,没有捷径。
## 工作原理
- 在每个端口上尝试 TCP 连接(SYN → SYN-ACK = 开放)
- 如果端口开放,connect_ex() 返回 0,否则返回错误代码
- 在开放的端口上抓取服务 banner(显示名称和版本)
- 使用多线程同时扫描多个端口
## 功能特性
- 基于原始 socket 的 TCP Connect 扫描
- 在开放的端口上进行 Banner 抓取
- 对常用端口进行服务识别
- 采用多线程提升速度
- 带有时间统计的简洁扫描输出
## 使用方法
```
python3 scanner.py [start_port] [end_port]
```
## 示例
```
# 扫描 target 上的 common ports
python3 scanner.py 192.168.x.x 1 1024
# 扫描单个 port
python3 scanner.py 192.168.x.x 80 80
# 扫描 full range
python3 scanner.py 192.168.x.x 1 65535
```
## 输出示例
PORT STATE SERVICE BANNER
8080 OPEN HTTP-Alt HTTP/1.0 200 OK Server: SimpleHTTP/0.6
## 法律声明
仅扫描您拥有或已获得明确授权进行测试的系统。
标签:Python, Socket, TCP, 插件系统, 数据泄露防护, 数据统计, 无后门, 服务器安全, 端口扫描, 网络探测, 逆向工具