Go 语言中的 gopacket 实践:从零实现一个高性能 SYN 扫描器
在之前的文章中,我们聊过 Masscan 的设计原理和 Naabu 的工程化实践。今天,我们切入代码层面,通过 Go 语言和 Google 强大的 gopacket 库,亲手打造一个简单的 SYN 扫描器。 为什么不能只用 net.Dial? 在 Go 语言中,最简单的端口检测方式是使用 net.Dial("tcp", "ip:port")。这对应的是操作系统的 全连接扫描(Connect Scan): ...
在之前的文章中,我们聊过 Masscan 的设计原理和 Naabu 的工程化实践。今天,我们切入代码层面,通过 Go 语言和 Google 强大的 gopacket 库,亲手打造一个简单的 SYN 扫描器。 为什么不能只用 net.Dial? 在 Go 语言中,最简单的端口检测方式是使用 net.Dial("tcp", "ip:port")。这对应的是操作系统的 全连接扫描(Connect Scan): ...
Naabu 是 ProjectDiscovery 团队打造的一款现代化端口扫描器, 以 Go 编写,专注于高性能、易集成与工程化流水线使用。 如果说 Nmap 是经典全能型选手、Masscan 是极限速度的代表, 那么 Naabu 则是两者之间“现代化、自动化、可编排”的中间态。 ...
概述 端口扫描是信息收集阶段的重要环节,是获取目标主机服务信息的主要方式之一。其核心基于 TCP/IP 协议栈的传输层特性。常见的主动端口扫描大体可分为 TCP 扫描 和 UDP 扫描 两类。 ...