shyamsundaryadav62/portscanner
GitHub: shyamsundaryadav62/portscanner
一个使用 Python socket 库构建的简易 TCP 端口扫描器,帮助用户探测目标主机开放的网络端口。
Stars: 0 | Forks: 0
# Python 端口扫描器
一个使用 Python 构建的简单 TCP 端口扫描器。此工具使用 Python 内置的 `socket` 库,扫描目标主机在指定范围内开放的 TCP 端口。
## 功能
* 扫描目标主机的 TCP 端口
* 将域名解析为 IPv4 地址
* 显示扫描开始时间
* 简单且适合初学者的代码
* 对无效主机和网络错误进行异常处理
* 使用 **pyfiglet** 生成 ASCII 横幅
## 使用的技术
* Python 3
* Socket 库
* Pyfiglet
## 安装说明
克隆仓库:
```
git clone https://github.com//Port-Scanner.git
cd Port-Scanner
```
安装所需的包:
```
pip install pyfiglet
```
## 用法
通过提供目标主机名或 IP 地址来运行扫描器:
```
python portscanner.py scanme.nmap.org
```
或者
```
python portscanner.py 127.0.0.1
```
## 示例输出
```
--------------------------------------------------
Scanning target: 45.33.32.156
Scanning started at: 2026-07-09 19:41:36
--------------------------------------------------
Port 22 is open
Port 80 is open
```
## 项目结构
```
Port-Scanner/
│── portscanner.py
│── requirements.txt
└── README.md
```
## 工作原理
1. 从命令行接收主机名或 IP 地址。
2. 将主机名转换为 IPv4 地址。
3. 创建 TCP socket。
4. 扫指定范围内的端口。
5. 显示所有开放的端口。
6. 优雅地处理无效主机和与网络相关的错误。
## 要求
* Python 3.x
* pyfiglet
## 未来改进
* 多线程扫描
* 自定义端口范围
* 服务/Banner 检测
* 将扫描结果保存到文件
* 更快的扫描速度
* 使用 argparse 实现命令行选项
## 免责声明
本项目仅用于教育目的和授权的安全测试。请仅扫描您拥有或获得明确测试许可的系统。
## 作者
**Shyam Sundar Yadav**
标签:Python, Socket编程, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 逆向工具, 隐私保护