Show HN: A toy version of Wireshark (student project)
265 points| lixiasky | 9 months ago |github.com
I recently published a small open-source project. It’s a minimal network packet analyzer written in Go — designed more like a learning toy than a replacement for Wireshark.
It currently supports parsing basic protocols like TLS, DNS, and HTTP, and includes a tiny fuzzing engine to test payload responses. You can inspect raw packet content directly from the terminal. The output is colored for readability, and the code structure is kept simple and clear.
The entire program is very small — just about 400 lines of Go code. I know it’s not anywhere near Wireshark’s level, and I still use Wireshark myself for real-world analysis. But I built it as a personal experiment in network parsing and to understand protocol behavior more directly.
If you're curious or would like to try it out, the project is here: https://github.com/lixiasky/vanta
I'm happy to hear your thoughts, suggestions, or critiques. It’s just a little network toy, but maybe someone out there finds it useful or fun.
Thanks for reading!
[+] [-] Cockbrand|9 months ago|reply
[+] [-] lixiasky|9 months ago|reply
I'm just an undergrad student in China (not even CS major, unfortunately), and this little project was my way of saying thanks — to the schools that stood up bravely.
Really appreciate your kind words. Let’s see what comes next. :)
[+] [-] dang|9 months ago|reply
I hope that's ok with you! The alternative would be to move it under https://news.ycombinator.com/item?id=44161021, but it's a really nice comment so I don't want to do that.
[+] [-] Hikikomori|9 months ago|reply
How I parsed IP for example:
[+] [-] lixiasky|9 months ago|reply
Yeah, I’m currently using gopacket mainly to get something working fast, but I’ve been thinking about writing my own parsers from scratch to understand the protocols better.
Your Hdr example is really clean — definitely saving this as reference! I love how direct and readable it is.
I’ll definitely try going lower level when I revisit the packet layer logic. Thanks again for the nudge
[+] [-] 0xbadcafebee|9 months ago|reply
[+] [-] jasonthorsness|9 months ago|reply
[+] [-] lixiasky|9 months ago|reply
The features you mentioned sound awesome. I might give it a try later on—supporting stream breaks and debug controls sounds really fun
[+] [-] worldsayshi|9 months ago|reply
[+] [-] lixiasky|9 months ago|reply
If it happens to fill a niche, that’s a lucky bonus
[+] [-] dotaenjoyer322|9 months ago|reply
Curios what made you choose Go for this project? I am looking into building a toy version of Burp with either Rust/Go but still undecided.
[+] [-] spacecadet|9 months ago|reply
https://github.com/derekburgess/jaws
[+] [-] lixiasky|9 months ago|reply
[+] [-] leumassuehtam|9 months ago|reply
[+] [-] lixiasky|9 months ago|reply
Yes, Vanta currently relies on gopacket for packet capture and parsing. As a student, my main goal was to build something clear, functional, and real — rather than reinvent everything from scratch.
I'm actively learning the details of network protocols, and I do plan to write some custom parsers later, both for flexibility and personal understanding. But at this stage, I think it’s more important to deliver a meaningful tool than to prove I can reimplement low-level stacks.
In the long run, I may gradually replace parts of gopacket, but right now it's an important and reliable foundation for the project.
(And honestly — finishing something real matters more to me than perfection )
[+] [-] thegoodduck|9 months ago|reply
[+] [-] thenthenthen|9 months ago|reply
[+] [-] colesantiago|9 months ago|reply
[+] [-] poisonborz|9 months ago|reply
[+] [-] Kuraj|9 months ago|reply
[+] [-] Andugal|9 months ago|reply
[+] [-] qmr|9 months ago|reply
[+] [-] mrbluecoat|9 months ago|reply
[+] [-] Bad_CRC|9 months ago|reply
[+] [-] unknown|9 months ago|reply
[deleted]
[+] [-] qwertytyyuu|9 months ago|reply
[+] [-] op00to|9 months ago|reply
> I’m just an ordinary undergraduate with no resources or background. This is my way of responding — not by petition, but through code. Vanta may be small, but it’s real, and it’s mine.
This comes off as super ChatGPT-y to me. "X is not y — it's Z! Preamble, passionate statement. Sycophantic encouraging statement — list, of, a, few, things, but also this. Summarize statement, but this other thing, and saying the same thing again but in a slightly different way."
I've given up on ChatGPT because of this style of writing.
[+] [-] lixiasky|9 months ago|reply
So yeah, that probably shaped the way I wrote this. You’re right though — reading it again, it does sound kinda overly polished.
I’ll try to keep future writing more personal and grounded. Still learning — and thanks for reading it at all. That already means a lot!
[+] [-] singiamtel|9 months ago|reply
[+] [-] unknown|9 months ago|reply
[deleted]
[+] [-] moffkalast|9 months ago|reply
[+] [-] rezmason|9 months ago|reply
[+] [-] qmr|9 months ago|reply
[+] [-] unknown|9 months ago|reply
[deleted]
[+] [-] appendixv2|9 months ago|reply
[deleted]
[+] [-] dang|9 months ago|reply
[+] [-] chillpenguin|9 months ago|reply
If OP was an actual company, that would be different. But this is quite literally a toy project.
Anyway, congrats OP! Your project looks really cool.
[+] [-] andygcook|9 months ago|reply
Obviously, there are often different services that share the same name, but given that Vanta isn't an actual word in the English language, I would think this might be confusing for people.
As a data point of one, I just assumed Vanta (the company) was doing a Show HN today and was confused at first glance.
[+] [-] idorube|9 months ago|reply
[+] [-] christinac|9 months ago|reply
[deleted]
[+] [-] mushufasa|9 months ago|reply
[+] [-] 1vuio0pswjnm7|9 months ago|reply
[+] [-] unknown|9 months ago|reply
[deleted]
[+] [-] BobbyTables2|9 months ago|reply
[+] [-] hnlosers|9 months ago|reply
[deleted]
[+] [-] woleium|9 months ago|reply
[deleted]
[+] [-] kinduff|9 months ago|reply
[deleted]
[+] [-] unknown|9 months ago|reply
[deleted]
[+] [-] remram|9 months ago|reply
[deleted]
[+] [-] unknown|9 months ago|reply
[deleted]