chore(blog): write blog about TCP syn scanner #600

Closed
opened 2026-03-28 04:26:15 +00:00 by mfreeman451 · 0 comments
Owner

Imported from GitHub.

Original GitHub issue: #1857
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/issues/1857
Original created: 2025-10-22T21:06:16Z


Highlights:

  • TCP connect (3-way handshake) based scanner took 19HRs to complete scan of 21k devices
  • Syn half-open scanner now takes under 1s
  • Used Linux kernel syscalls, sendmmsg, AF_PACKET, TFPACKET_V3, fanout, etc (pkg/scan)
  • Use of eBPF packet filters
  • Hand assembly of packets, no external dependencies
  • Go ASM optimizations for AMD64 and ARM64 + NEON to compute checksums (internal/fastsum)
  • Fastest golang-based OSS TCP scanner
  • Mmsghdr header alignments for 386, amd64, arm64
  • Using ring buffers, atomics
Imported from GitHub. Original GitHub issue: #1857 Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/issues/1857 Original created: 2025-10-22T21:06:16Z --- Highlights: - TCP connect (3-way handshake) based scanner took 19HRs to complete scan of 21k devices - Syn half-open scanner now takes under 1s - Used Linux kernel syscalls, sendmmsg, AF_PACKET, TFPACKET_V3, fanout, etc (pkg/scan) - Use of eBPF packet filters - Hand assembly of packets, no external dependencies - Go ASM optimizations for AMD64 and ARM64 + NEON to compute checksums (internal/fastsum) - Fastest golang-based OSS TCP scanner - Mmsghdr header alignments for 386, amd64, arm64 - Using ring buffers, atomics
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar#600
No description provided.