Implementing ping from the Ethernet layer (ARP,IPv4,ICMP in user space)
Details
- External ID
- 47120076
- Source
- HN
- Company
- —
- Product
- Implementing ping from the Ethernet layer (ARP,IPv4,ICMP in user space)
- Website domain
- github.com
- Launched
- Feb. 23, 2026
- Cohort
- —
- Upvotes
- 9
- Upvotes percentile
- 0.4865229110512129
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:25 p.m.
- Updated at
- Sept. 7, 2026, 9:25 p.m.
Description
I built a user-space implementation of ping that constructs Ethernet frames, performs ARP resolution, builds IPv4 headers, and sends ICMP echo requests manually using AF_PACKET.- ARP (packet format, cache with aging, re-ARP, conflict handling) - IPv4 header construction and checksum - DF handling and ICMP Fragmentation Needed (Type 3 Code 4) - IP fragment reassembly - ICMP echo request/reply parsing - A basic ping loop with loss statisticsThe goal was to understand how packets actually move from Layer 2 upward.
Enrichment
- Theme
- Model Context Protocol developer tools
- Vertical
- Horizontal
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- ping implementation from ethernet layer
- Manually corrected
- False
Could you build this?
Partial The scope of a user-space ping is well-defined, but writing raw Ethernet frame manipulation with AF_PACKET, ARP table management, and manual checksum calculations requires low-level networking and C knowledge beyond basic vibe coding.
What it would actually take: Requires low-level C or Rust networking code interacting with Linux raw sockets (AF_PACKET / SOCK_RAW). The hard parts are correctly packing binary protocol headers (Ethernet, ARP, IPv4, ICMP), computing Internet checksums (RFC 1071), handling ARP caching/timeouts, and dealing with OS raw socket permissions and network interface binding. Demands systems-level network protocol programming expertise.
Discussion
2 comments analyzed.
Concerns raised: Fragment reassembly in user space is complex and often skipped, Handling DF bit and ICMP Fragmentation Needed requires path MTU discovery
Feature requests: Implement RFC815 data structure for efficient fragment reassembly, Handle path MTU discovery scenarios beyond basic echo/reply
Competitors
Other products that read as similar to this one — 18 launches clear the similarity bar, closest 8 shown.
Attention rank: #13 of 19 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 111 days after the earliest competitor.
- PingStalker · hn · 2025-11-04 · 77 upvotes · similarity 0.43
- Nat traversal using ICMP Destination Unreachable packets · hn · 2026-07-01 · 5 upvotes · similarity 0.41
- I built a macOS tool for network engineers · hn · 2026-02-10 · 243 upvotes · similarity 0.40
- I built an ISP infrastructure emulator from scratch with a custom vBNG · hn · 2026-03-11 · 68 upvotes · similarity 0.36
- Pion SCTP with RACK is 70% faster with 30% less latency · hn · 2025-12-28 · 62 upvotes · similarity 0.35
- We Implemented the IPv8 Internet-Draft in Linux, Libc, and BGP · hn · 2026-08-14 · 73 upvotes · similarity 0.34
- Building WebSocket in Apache Iggy with Io_uring and Completion Based IO · hn · 2025-11-17 · 29 upvotes · similarity 0.34
- skyline-speeder · github · 2026-09-18 · 95 upvotes · similarity 0.34
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.