MonikaKS545/python-port-scanner

GitHub: MonikaKS545/python-port-scanner

一个基于 Python Socket 模块的轻量级 TCP 端口扫描器,帮助初学者理解网络编程基础并快速探测目标主机的开放端口。

Stars: 0 | Forks: 0

# Python 端口扫描器 一个基于 Python 的简单 TCP 端口扫描器,可扫描目标 IP 地址或域名在用户指定端口范围内的开放端口。 本项目是我学习道德黑客(Ethical Hacking)之旅的一部分,旨在加深对网络、socket 和 Python 编程的理解。 ## 功能 - 扫描任何有效的 IP 地址或域名 - 用户自定义端口范围 - 检测常见服务(SSH、HTTP、FTP 等) - 显示开放端口总数 - 测量扫描完成时间 - 将扫描结果保存到文本文件 - 处理无效输入和 DNS 解析错误 - 优雅地处理键盘中断 ## 使用技术 - Python 3 - Socket 模块 - Time 模块 - Datetime 模块 - Git - GitHub ## 项目结构 ``` python-port-scanner/ │ ├── port_scanner.py ├── README.md ├── .gitignore ├── LICENSE └── scan_results.txt (generated after running) ``` ## 如何运行 1. 克隆仓库 ``` git clone https://github.com/MonikaKS545/python-port-scanner.git ``` 2. 打开项目文件夹 3. 运行 ``` python port_scanner.py ``` 4. 输入: - 目标 IP 或域名 - 起始端口 - 结束端口 ## 示例输出 ``` === Python Port Scanner === Enter IP address or domain: scanme.nmap.org Enter Start Port: 20 Enter End Port: 100 Scanning scanme.nmap.org (45.33.32.156) Scanning ports 20 to 100 Port 22 (SSH) is OPEN Port 80 (HTTP) is OPEN Open ports found: 2 Scan completed in 40.62 seconds Results saved to scan_results.txt ``` ## 我的收获 - Python socket 编程 - TCP 端口扫描 - DNS 解析 - 异常处理 - 文件处理 - Git 版本控制 - GitHub 工作流 - 基础网络概念 ## 未来改进 - 使用多线程加快扫描速度 - Banner grabbing - 服务版本检测 - 命令行参数 - GUI 版本 - 导出 CSV 格式的结果 ## 作者 **MonikaKS545**
标签:Python, Socket编程, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 网络安全研究, 网络编程, 隐私保护