A high-performance network scanning tool designed to probe specified IP ranges for open ports (80, 443, or custom) and extract domain information from HTTPS certificates. The name "80443" represents the two most common HTTP/HTTPS ports that this tool primarily scans. Built with Go, it supports concurrent scanning and provides various parameters to control scanning behavior.
- CIDR format input for IP ranges
- Concurrent scanning of ports 80, 443, or custom ports
- Adjustable concurrency level for performance optimization
- Configurable connection timeout
- CSV export of scan results
- Detailed progress and result display
- Automatic domain extraction from HTTPS certificates
- Certificate details display (issuer, validity period, etc.)
这是一个高性能的网络扫描工具,用于探测指定IP段内所有IP地址的80端口、443端口或自定义端口是否开放。该工具使用Go语言编写,支持高并发扫描,并提供多种参数控制扫描行为。对于开放的443端口,工具会尝试建立HTTPS连接并从证书中提取域名信息。
- 支持CIDR格式的IP段输入
- 并发扫描80和443端口(或自定义端口)
- 可控制并发数量,优化性能
- 可设置连接超时时间
- 支持将结果输出到文件
- 详细的扫描进度和结果展示
- 自动提取HTTPS证书中的域名信息
- 显示证书详细信息(颁发者、有效期等)
go build -o 80443
You can also use the provided Makefile to build the project:
# Build for current platform
make build
# Build for all platforms (Linux and macOS, AMD64 and ARM64)
make build-all
# Build for specific platform
make build-linux-amd64
make build-linux-arm64
make build-darwin-amd64
make build-darwin-arm64
# Clean all built binaries
make clean
# Show help information
make help
./80443 -cidr 192.168.1.0/24
Parameter | Description | Default |
---|---|---|
-cidr |
IP range in CIDR format (e.g.: 192.168.1.0/24) | Required |
-timeout |
Connection timeout (milliseconds) | 1000 |
-concurrent |
Maximum concurrency | 100 |
-output |
Output results to file | No file output |
-verbose |
Display detailed information | false |
-ports |
Comma-separated list of ports to scan | 80,443 |
go build -o 80443
您也可以使用提供的Makefile来构建项目:
# 构建当前平台二进制文件
make build
# 构建所有平台二进制文件(Linux和macOS,AMD64和ARM64)
make build-all
# 构建特定平台二进制文件
make build-linux-amd64
make build-linux-arm64
make build-darwin-amd64
make build-darwin-arm64
# 清理所有构建的二进制文件
make clean
# 显示帮助信息
make help
./80443 -cidr 192.168.1.0/24
参数 | 说明 | 默认值 |
---|---|---|
-cidr |
CIDR格式的IP段 (例如: 192.168.1.0/24) | 必填参数 |
-timeout |
连接超时时间(毫秒) | 1000 |
-concurrent |
最大并发数 | 100 |
-output |
输出结果到文件 | 不输出到文件 |
-verbose |
显示详细信息 | false |
-ports |
要扫描的端口列表,用逗号分隔 | 80,443 |
Scan 192.168.1.0/24 network with 500ms timeout, 200 concurrent connections, and output to file:
./80443 -cidr 192.168.1.0/24 -timeout 500 -concurrent 200 -output results.csv
Scan 10.0.0.0/16 network with detailed information display:
./80443 -cidr 10.0.0.0/16 -verbose
Scan custom ports (22, 80, 443, 8080) on a specific network:
./80443 -cidr 192.168.0.0/24 -ports 22,80,443,8080
扫描192.168.1.0/24网段,设置500毫秒超时,200并发,并输出到文件:
./80443 -cidr 192.168.1.0/24 -timeout 500 -concurrent 200 -output results.csv
扫描10.0.0.0/16网段,显示详细信息:
./80443 -cidr 10.0.0.0/16 -verbose
扫描特定网段的自定义端口(22, 80, 443, 8080):
./80443 -cidr 192.168.0.0/24 -ports 22,80,443,8080
The program displays scan results in the console, including:
- Scanned IP range and total IP count
- Concurrency level and timeout settings
- Scan duration
- List of discovered open ports
- Domain information and certificate details for port 443
- Consolidated list of all discovered domains
If an output file is specified, results are saved in CSV format with the following columns:
- IP address
- Port number
- Latency (milliseconds)
- Timestamp
- Domain list (semicolon-separated)
- Certificate information
- Uses Go goroutines for high-concurrency scanning
- Implements semaphores to control concurrency and prevent resource exhaustion
- Allows parameter adjustment for concurrency and timeout to optimize for different network environments
程序会在控制台输出扫描结果,包括:
- 扫描的IP段和IP数量
- 并发数和超时设置
- 扫描耗时
- 发现的开放端口列表
- 443端口的域名信息和证书详情
- 单独的域名汇总列表
如果指定了输出文件,结果将以CSV格式保存,包含以下列:
- IP地址
- 端口号
- 延迟(毫秒)
- 时间戳
- 域名列表(分号分隔)
- 证书信息
- 使用Go语言的goroutine实现高并发扫描
- 使用信号量控制并发数量,避免资源耗尽
- 可通过参数调整并发数和超时时间,根据网络环境优化性能
This project is licensed under the MIT License - see the LICENSE file for details.
本项目采用MIT许可证 - 详情请参阅 LICENSE 文件。