Practice with gopacket in Go: Implementing a High-Performance SYN Scanner from Scratch

Practice with gopacket in Go: Implementing a High-Performance SYN Scanner from Scratch

In previous articles, we discussed the design principles of Masscan and the engineering practices of Naabu. Today, we dive into the code level and use the Go language and Google’s powerful gopacket library to build a simple SYN Scanner with our own hands. Why Not Just Use net.Dial? In Go, the simplest way to check a port is to use net.Dial("tcp", "ip:port"). This corresponds to the OS’s Connect Scan: System sends SYN. Target replies SYN+ACK. System automatically replies ACK (handshake complete). Application layer Dial returns success. Application layer calls Close, sending FIN/RST. Disadvantages of this method: ...

January 6, 2026 · 5 min · 928 words · Allen
Building an Intelligent Attack and Defense Knowledge Base: Vulnerability Management Practices Combining AI Technology

Building an Intelligent Attack and Defense Knowledge Base: Vulnerability Management Practices Combining AI Technology

Project Origin One day, a classmate threw a GitHub repository link for PoCs into the group chat, containing many PoC markdown documents. I saved it immediately. Recently, building knowledge bases with vector databases has become very convenient, so I thought, why not use tools like AnythingLLM to directly construct a knowledge base? AnythingLLM even supports creating documents directly from GitHub repositories. The effect is as follows: “What are the vulnerabilities of X-OA?” Answer: ...

September 12, 2025 · 3 min · 1042 words · Allen