Zolet-hash/port-scanner
GitHub: Zolet-hash/port-scanner
一个基于Go语言的轻量级端口扫描器,支持多种扫描技术,用于快速发现网络开放端口。
Stars: 0 | Forks: 0
## PortScanner — 基于Golang的多技术端口扫描器
一个用Go语言编写的轻量级且功能强大的端口扫描器。它实现了多种扫描技术,其灵感来源于Nmap的概念,同时充分利用Go语言的网络能力和Goroutine进行高速并发扫描。
功能特性
- TCP连接扫描
- SYN扫描
- FIN扫描
- NULL扫描
UDP扫描
服务横幅抓取
基于Goroutine的并发扫描
可配置的超时时间与线程数
CIDR范围 / 主机范围支持
快速且轻量
跨平台支持
简洁的命令行界面
项目初衷
# 构建本项目旨在加深对以下方面的理解:
网络协议
TCP/IP内部原理
套接字编程
Go语言中的并发编程
底层信息收集技术
网络安全工具开发
# 本项目展示了以下方面的实践知识:
Goroutine
通道
原始套接字
数据包构造
命令行应用程序开发
Go语言中的错误处理与并发管理
技术栈
Golang
Go网络包
原始套接字编程
Goroutine与通道
已实现的扫描技术
TCP连接扫描
执行完整的TCP握手以判断端口是否开放。
适用场景:
可靠性高
用户空间扫描
无特权环境
SYN扫描(半开放扫描)
发送SYN数据包并分析响应,而不完成完整的TCP连接。
优势:
扫描速度快
比完整连接扫描更隐蔽
常用于专业信息收集
FIN扫描
根据RFC规范,通过发送FIN数据包来探测关闭/开放的端口。
适用于:
规避防火墙
高级信息收集
NULL扫描
发送未设置任何TCP标志的数据包。
有助于:
识别防火墙规则
检测被过滤的端口
UDP扫描
尝试通过UDP端口进行通信以识别开放的服务。
适用于发现:
DNS
SNMP
DHCP
NTP
其他基于UDP的服务
系统架构
+------------------+
| 命令行输入 |
+------------------+
|
v
+------------------+
| 目标解析器 |
+------------------+
|
v
+------------------+
| 扫描分发器 |
+------------------+
/ | \
/ | \
v v v
TCP扫描 SYN扫描 UDP扫描
\ | /
\ | /
v v v
+------------------+
| 结果聚合器 |
+------------------+
|
v
+------------------+
| 输出格式化器 |
+------------------+
标签:CIDR支持, EVTX分析, FIN扫描, Goroutines, Go语言, Groq, HTTP 参数枚举, Nmap类似工具, NULL扫描, Socket编程, SYN扫描, TCP Connect扫描, TCP/IP, URL短链接分析, 低级侦察, 内核驱动, 原始套接字, 域名解析, 学习项目, 安全工具开发, 并发编程, 扫描技术, 插件系统, 数据统计, 日志审计, 服务Banner抓取, 服务探测, 程序破解, 端口扫描, 网络协议, 网络安全, 网络工具, 自然语言处理, 轻量级工具, 错误处理, 隐私保护