Skip to content
/ 80443 Public

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. Built with Go, it supports concurrent scanning and provides various parameters to control scanning behavior. 这是一个高性能的网络扫描工具,用于探测指定IP段内所有IP地址的80端口、443端口或自定义端口是否开放。

License

Notifications You must be signed in to change notification settings

coooold/80443

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

80443 - Network Port Scanner

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.

Features

  • 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.)

80443 - 网络端口扫描工具

这是一个高性能的网络扫描工具,用于探测指定IP段内所有IP地址的80端口、443端口或自定义端口是否开放。该工具使用Go语言编写,支持高并发扫描,并提供多种参数控制扫描行为。对于开放的443端口,工具会尝试建立HTTPS连接并从证书中提取域名信息。

功能特点

  • 支持CIDR格式的IP段输入
  • 并发扫描80和443端口(或自定义端口)
  • 可控制并发数量,优化性能
  • 可设置连接超时时间
  • 支持将结果输出到文件
  • 详细的扫描进度和结果展示
  • 自动提取HTTPS证书中的域名信息
  • 显示证书详细信息(颁发者、有效期等)

Usage

Build

go build -o 80443

Using Makefile

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

Run

./80443 -cidr 192.168.1.0/24

Command Line Arguments

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

您也可以使用提供的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

Examples

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

Output Format

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

Performance Optimization

  • 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实现高并发扫描
  • 使用信号量控制并发数量,避免资源耗尽
  • 可通过参数调整并发数和超时时间,根据网络环境优化性能

License

This project is licensed under the MIT License - see the LICENSE file for details.

许可证

本项目采用MIT许可证 - 详情请参阅 LICENSE 文件。

About

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. Built with Go, it supports concurrent scanning and provides various parameters to control scanning behavior. 这是一个高性能的网络扫描工具,用于探测指定IP段内所有IP地址的80端口、443端口或自定义端口是否开放。

Resources

License

Stars

Watchers

Forks

Packages

No packages published