JohannesGuzman/network-scanner-tool
GitHub: JohannesGuzman/network-scanner-tool
一个基于 Python socket 的轻量级 TCP 端口扫描器,用于教学目的的基础网络探测与主机发现。
Stars: 0 | Forks: 0
# 网络扫描工具
一个轻量级的基于 Python 的网络扫描器,用于检测活跃主机并通过 socket 连接识别开放的 TCP 端口。
该项目旨在展示基础的网络通信与系统概念,包括 TCP 通信、端口扫描技术以及命令行界面设计。
它是一个初级水平的个人项目,用于展示对网络服务在底层是如何被发现的理解。
## 预览

## 展示的概念
- TCP/IP 网络
- Python 中的 Socket 编程
- TCP 连接扫描技术
- 端口状态(开放、关闭)
- 基础输入验证与 CLI 设计
## 安装
克隆仓库:
```
git clone https://github.com/JohannesGuzman/network-scanner-tool.git
cd network-scanner-tool
```
无需依赖。
```
## Usage
```bash
python main.py --start --end --timeout
```
示例:
python main.py 127.0.0.1 --start 80 --end 445 --timeout 0.1
## 示例输出
```
[+] Checking if host 127.0.0.1 is active...
[+] Host appears to be active.
[+] Scanning ports from 80 to 445...
[OPEN] Port 135
[OPEN] Port 445
[+] Scan completed.
[+] Total open ports found: 2
[+] Open ports found:
- Port 135
- Port 445
```
## 限制
- 主机检测并非确定性(依赖常见 TCP 端口)
- 无法区分过滤状态与关闭状态端口
- 仅支持 TCP(无 UDP 扫描)
- 顺序扫描(无多线程)
- 无服务或操作系统检测
## 免责声明
本工具仅供教育用途。
未经授权不得扫描网络或系统。
## 使用技术
- Python 3
- 内置 `socket` 模块
## 工作原理
扫描器使用 TCP socket 连接尝试与目标端口通信。
如果连接成功建立,则认为端口是开放的。
此方法称为 TCP 连接扫描,依赖操作系统的网络协议栈。
## 作者
Johannes Guzman
## 许可证
本项目采用 MIT 许可证。
标签:CLI, DNS解析, Python, Socket编程, TCP, TCP连接扫描, WiFi技术, 云存储安全, 初级项目, 基础网络, 开源项目, 教育学习, 数据泄露防护, 数据统计, 无后门, 端口扫描, 端口状态, 网络安全, 网络工具, 网络扫描, 网络探测, 逆向工具, 隐私保护