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连接, 主机扫描, 实习准备, 实时结果, 开放端口, 开源项目, 开源项目, 数据统计, 无后门, 服务识别, 端口扫描, 端口范围, 网络安全, 脚本工具, 逆向工具, 隐私保护