SooryaKiranB/PyMap-PortScanner
GitHub: SooryaKiranB/PyMap-PortScanner
PyMap 是一个用 Python socket 库实现的简易 TCP 端口扫描器,支持单主机和多主机扫描并将开放端口结果保存到文本文件。
Stars: 0 | Forks: 0
# PYMAP - Python TCP 端口扫描器
一个使用 Python 内置 `socket` 库构建的简单 TCP 端口扫描器。该工具用于扫描目标主机的开放端口,并将结果保存到文本文件中。
## 功能
* 扫描单个目标
* 扫描多个目标
* 检测开放的 TCP 端口
* 将扫描结果保存到文本文件
* 简单的命令行界面
* 完全基于 Python 标准库构建
## 使用技术
* Python 3
* Socket 编程
* 文件处理
## 项目结构
```
PYMAP/
│
├── pymap.py
├── scan_results.txt
└── README.md
```
### 示例输出
```
--- PYMAP ---
[+] Enter The Target To Scan: scanme.nmap.org
[+] Enter The No Of Ports To Be Scan: 100
*** Starting Scan For scanme.nmap.org ***
[+] Open Port : 22
[+] Open Port : 80
Scanning END
```
## 多目标扫描
你可以通过用逗号分隔多个主机来同时扫描:
```
scanme.nmap.org,192.168.1.1,192.168.1.10
```
示例:
```
[+] Enter The Target To Scan: scanme.nmap.org,192.168.1.1
```
## 输出文件
扫描器将发现的开放端口存储在:
```
scan_results.txt
```
示例:
```
*** Scan Results For scanme.nmap.org ***
Open Port: 22
Open Port: 80
```
## 工作原理
1. 接收目标主机名或 IP 地址。
2. 遍历指定的端口范围。
3. 使用 `socket.connect_ex()` 尝试 TCP 连接。
4. 识别开放的端口。
5. 在终端显示开放的端口。
6. 将结果保存到 `scan_results.txt`。
## 学习成果
该项目有助于理解以下内容:
* TCP/IP 网络
* Socket 编程
* 端口扫描基础
* Python 异常处理
* Python 文件操作
* 网络安全侦察概念
## 未来改进
* 主机名到 IP 的解析
* 服务检测(HTTP、SSH、FTP 等)
* 多线程扫描
* 扫描耗时统计
* Banner 抓取
* 将结果导出为 CSV 或 JSON
* 使用 Tkinter 开发 GUI 版本
## 免责声明
本工具仅供教育和授权的安全测试目的使用。在扫描任何你不拥有或不负责管理的网络或系统之前,请务必获得许可。
## 作者
**Soorya Kiran B**
计算机科学专业毕业生(网络安全方向)
兴趣爱好:
* 道德黑客
* 数字取证
* 网络安全
* 网络防御
* Python 开发
标签:Python, Socket编程, 云原生安全, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 隐私保护