mysydiouf/port_scanner
GitHub: mysydiouf/port_scanner
一个基于 Python 的 TCP 端口扫描器,用于发现开放端口并识别常见服务。
Stars: 0 | Forks: 0
# port_scanner
使用 Python 编写的 TCP 端口扫描器。用于发现目标机器上开放的端口,并识别其上运行的服务。
## 功能特性
- 扫描目标(IP 或域名)的 TCP 端口
- 识别已知服务(HTTP、SSH、FTP、MySQL 等)
- 通过 banner grabbing 获取服务版本
- 当危险端口(如 Telnet、RDP、SMB 等)开放时发出警告
- 扫描期间显示进度条
## 运行程序
```
python3 port_scanner.py
```
只需输入目标地址并选择端口范围。如需进行安全的测试,请使用 `scanme.nmap.org`(这是 Nmap 专门为此提供的测试服务器)。
要求 Python 3.8+,无外部依赖。
## 示例
```
=== PORT SCANNER ===
Cible : scanme.nmap.org (45.33.32.156)
Ports : 1 -> 100
=== RESULTATS ===
2 port(s) ouvert(s) :
PORT SERVICE STATUT
22 SSH OUVERT
80 HTTP OUVERT
/!\ HTTP non chiffre
Duree : 28.43s
Scannes : 100
Ouverts : 2
```
## 工作原理
该扫描器使用 TCP socket。对于每个端口,它会尝试通过 `connect_ex()` 建立连接:如果返回 0,则说明该端口是开放的。这是一种经典的 TCP connect 扫描方式。
banner grabbing 会发送一个基础的 HTTP 请求,并读取服务器的响应以识别服务版本。
## 免责声明
请仅在获得授权的机器上使用。未经授权扫描他人机器是违法的。
## 作者
Sokhna Oumou Diouf
标签:Banner Grabbing, DNS查询工具, Python, TCP协议, 安全工具, 插件系统, 无后门, 端口扫描器, 网络审计