# portScanner
**Repository Path**: cor0ps/portScanner
## Basic Information
- **Project Name**: portScanner
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-03-19
- **Last Updated**: 2021-03-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# portScanner
高效率TCP端口扫描器。Go语言编写。
### 编译
```go build main.go```
#### 交叉编译
Linux x64:
```
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go
```
Windows x32:
```
SET CGO_ENABLED=0
SET GOOS=windows
SET GOARCH=amd64
go build main.go
```
### 使用
编译为 main 后,
```./main -ip 127.0.0.1 -port 1-65535 -max 10000```
> port 有三种指定方式:
> 1. `100` 指定单个
> 2. `100,101,102` 指定多个
> 3. `1-100` 指定范围
输出所有开端口(tcp):
```21,80,111,3166```
### 测试
条件:并发数: 10000; 超时时间: 3s; 扫描范围: 1-65535
+ 拒绝型服务器。耗时 7.6s
+ 超时型服务器。耗时 21.2s
(对全部端口超时的服务器全扫描,理论耗时 Ceil(65536/10000)*3s = 21s。实测结果已经极其逼近理论值)
### 和 (Nmap)[https://nmap.org/man/zh] 对比
1. 并发上,portScanner可以达到极高并发;Nmap不并发。portScanner占用的端口资源远多于Nmap(等于并发数),
但检测速度也远高于Nmap。
2. 检测方式上,Nmap可以使用TCP-SYN检测(快)、TCP-connect、UDP、TCP+version检测,
功能更全。但除第一种外,都很慢。
portScanner正在准备加入SYN检测的功能,届时端口占用更少,检测更快。
portScanner尚不支持UDP检测,后续可能会加入。
portScanner不会加入对端口号和服务类型的映射,也不会加入对具体服务版本的检测。
这超出了portScanner的功能范围。
3. Nmap是一个功能全面的,注重隐蔽性的目标探测工具。
portScanner的定位是一个微型、高并发、功能直接的端口开闭扫描工具。