arshshukla99/Port_Scanner
GitHub: arshshukla99/Port_Scanner
基于 Python Socket 和多线程构建的快速 TCP 端口扫描器,支持自定义端口范围扫描、服务检测及结果导出。
Stars: 0 | Forks: 0
# Python TCP 端口扫描器
一个使用 Socket 构建的简单多线程端口扫描器。
它的制作目的是为了理解:
- TCP 连接。
- 网络扫描。
- 开放和关闭的端口。
- 每个端口上的服务。
- Socket 编程。
- Python 中的多线程。
- 服务检测。
- Banner Grabbing。
- 错误管理。
- 处理 json 文件。
- Thread Lock。
## 包含的功能:
- 实时扫描自定义端口范围。
- 可以扫描全部 65535 个端口。
- 包含完善的错误处理。
- 支持多线程,提供快速的扫描结果。
- 支持全部 65535 个端口的服务检测。
- 对开放端口进行 Banner Grabbing。
- 将开放端口导出为 JSON。
- 将开放端口导出为 CSV。
## 使用的技术:
- Python 3.14.2
- Socket 模块
- Threading 模块
- Sys 模块
- Argparse 模块
- Colorama 模块
- JSON 模块
## 工作原理:
它首先接收用户的几项输入,例如 - IP 地址和端口范围(即起始端口和结束端口)。
注意 - 仅支持提供 IPv4 地址。
然后,它会尝试连接到提供的 IP 地址上,处于起始端口到结束端口范围内的每一个端口。
- 如果连接成功 -> 端口 {端口号} 处于 OPEN(开放)状态:
- 如果连接失败 -> 端口处于 CLOSED(关闭)状态
## 如何使用:
第 1 步:克隆仓库
```
$ git clone https://github.com/arshshukla99/Port_Scanner
```
第 2 步:导航到项目文件夹
```
$ cd port_scanner.py
```
第 3 步:运行脚本 'port_scanner.py'
```
$ python3 port_scanner.py -t 192.168.43.169 -s 1 -e 1000
```
## 示例输出
```
$ python3 port_scanner.py -t 192.168.43.169 -s 1 -e 1000
----------------------------------------------------------------------------------------------------
Simple Port Scanner
----------------------------------------------------------------------------------------------------
Port 139 is OPEN : netbios-ssn
Port 135 is OPEN : epmap
Port 445 is OPEN : microsoft-ds
Port 623 is OPEN : asf-rmcp
Scan Performed in : 2.6426780223846436
```
## 示例截图
标签:Banner抓取, Homebrew安装, Python, 云存储安全, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 网络扫描, 逆向工具, 隐私保护