yadhunandhan023-design/port-scanner

GitHub: yadhunandhan023-design/port-scanner

基于Python的端口扫描工具,用于发现目标主机的开放端口。

Stars: 0 | Forks: 0

# # 🔌 端口扫描器 # # 一个基于 Python 的网络安全工具,用于通过 TCP 连接扫描目标主机 # 的开放端口。使用 Python 的内置 socket 库构建。 # 重要提示: # # ## 📋 目录 # - [关于](#about) # - [功能](#features) # - [工作原理](#how-it-works) # - [安装](#installation) # - [使用方法](#usage) # - [示例输出](#example-output) # - [常见端口](#common-ports) # - [法律声明](#legal-disclaimer) # - [使用的技术](#technologies-used) # # # # ## 📖 关于 # —— 端口扫描器是网络安全中的基本工具,用于发现目标系统上的开放端口。开放端口揭示了哪些服务正在运行,帮助安全专业人员识别潜在的安全漏洞。 # 这个工具是我网络安全学习旅程的一部分,旨在针对像 CrowdStrike、Palo Alto Networks 和 Microsoft Security 这样的公司实习职位。 # # # # ## ✨ 功能 # —— - 扫描任何目标域名或 IP 地址 - 自定义端口范围选择 - 实时显示扫描结果 - 显示带有服务名称的开放端口 - 扫描摘要带时间戳 - 优雅地处理无效的主机名 # # # # ## ⚙️ 工作原理 1. 输入目标域名/IP 和端口范围 2. 使用 DNS 查询将域名解析为 IP 地址 3. 使用 socket 尝试对每个端口进行 TCP 连接 4. connect_ex() 返回 0 表示端口开放 5. 实时显示结果 6. 显示找到的所有开放端口的摘要 — ## 🛠️ 安装 **要求:** - Python 3.x - 无需外部库(使用内置 socket) **克隆仓库:** ``` git clone https://github.com/yadhunandhan023-design/port-scanner.git cd port-scanner ``` — ## 🚀 使用方法 ``` python scanner.py ``` 要自定义目标和端口范围,请编辑脚本中的以下行: ``` port\_scanner("scanme.nmap.org", 1, 100) \# ↑ target ↑ ↑ \# start end port ``` — ## 📊 示例输出 ================================ 🔍 端口扫描器 目标 : scanme.nmap.org 端口 : 1 - 100 开始时间: 2026-06-03 10:30:00 ✅ 目标 IP: 45.33.32.156 ❌ 端口 21 : 关闭 ✅ 端口 22 : 开放 ❌ 端口 23 : 关闭 ✅ 端口 80 : 开放 ================================ 📋 扫描完成! 开放端口 : [22, 80] 找到总数: 2 — ## 🔢 常见端口参考 | 端口 | 服务 | 描述 | |------|---------|-------------| | 21 | FTP | 文件传输协议 | | 22 | SSH | 安全壳 — 远程登录 | | 23 | Telnet | 未加密的远程登录 | | 25 | SMTP | 邮件发送 | | 53 | DNS | 域名系统 | | 80 | HTTP | 未加密的 Web 流量 | | 443 | HTTPS | 加密的 Web 流量 | | 3306 | MySQL | 数据库 | | 8080 | HTTP Alt | 代替 Web 服务器 | — ## ⚠️ 法律声明 此工具仅供 **教育目的** 使用。 ✅ 仅限以下情况下使用: - 您自己的系统 - scanme.nmap.org(nmap 的合法练习目标) - 您已获得测试权限的系统 ❌ 绝对不要用于: - 未授权的系统 - 随机网站或服务器 - 未授权的目标 — 在您的国家可能违法 — ## 💻 使用的技术 - **语言:** Python 3 - **库:** socket, datetime - **概念:** TCP 连接,DNS 解析,端口扫描,错误处理 — ## 📚 我学到的 - TCP 端口扫描的工作原理 - 使用 Python 的 socket 库进行网络连接 - Python 中的 DNS 解析 - 网络安全基础知识 - 网络连接的错误处理 - 开放端口如何揭示运行的服务 — ## 👨‍💻 作者 **Yadhunandhan** - GitHub: \[@yadhunandhan023-design](https://github.com/yadhunandhan023-design) - 正在学习网络安全,以在像 CrowdStrike、Palo Alto Networks 和 Microsoft Security 这样的顶级安全公司实习 — ⭐ 如果您觉得这个仓库有用,请给它加星!
标签:CrowdStrike, DNS解析, DNS解析, Microsoft Security, Palo Alto Networks, Python, Qt框架, socket, TCP连接, 主机扫描, 实习准备, 实时结果, 开放端口, 开源项目, 开源项目, 数据统计, 无后门, 服务识别, 端口扫描, 端口范围, 网络安全, 脚本工具, 逆向工具, 隐私保护