Hanningtone03/build-your-own-port-scanner
GitHub: Hanningtone03/build-your-own-port-scanner
用 C 语言编写的轻量级 TCP 端口扫描器,支持并发扫描、自定义端口范围和服务检测。
Stars: 0 | Forks: 0

# 构建你自己的端口扫描器
一个用 C 语言编写的 TCP 端口扫描器;支持服务检测、自定义端口范围和超时处理。
## 工作原理
对于范围内的每个端口,都会打开一个 TCP socket 并尝试建立连接。如果连接成功,则说明该端口是开放的。每个 socket 都有一个可配置的超时时间,因此无响应的端口不会阻塞扫描过程。已知的端口会被映射到对应的服务名称。
## 项目结构
```
src/
├── main.c
├── scanner.c
├── utils.c
└── utils.h
```
## 构建
```
gcc -Wall -o scanner src/main.c src/scanner.c src/utils.c -lws2_32
```
## 用法
```
./scanner [start_port] [end_port]
```
## 示例
```
./scanner localhost
./scanner localhost 1 1024
./scanner 127.0.0.1 80 443
```
## 可检测的服务
FTP、SSH、Telnet、SMTP、DNS、HTTP、POP3、IMAP、HTTPS、SMB、MySQL、PostgreSQL、Redis、MongoDB 等。
## 技术
- C
- POSIX sockets (Linux) / Winsock2 (Windows)
- 无外部依赖
标签:TCP, 客户端加密, 并发扫描, 插件系统, 数据统计, 服务检测, 端口扫描, 网络工具