[{"data":1,"prerenderedAt":408},["ShallowReactive",2],{"project-44159758":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":41,"post_text":43,"what":44,"said":89,"maker_in_thread":205,"shape":213,"grid":217,"attempts":371,"same_week":372,"maker_shows":33,"maker_hidden":400,"reader_version":401,"card":402},"44159758","Vanta","A toy version of Wireshark (student project)","title","Show HN: A toy version of Wireshark (student project)","https:\u002F\u002Fgithub.com\u002Flixiasky\u002Fvanta","github.com","lixiasky",1748877613,2025,265,72,213,3837,6,"legend","dev_tools","packet analyzer","cli",[21,24,25,26],"wireshark alternative","network protocol parsing","go network tool","curious",0.123,{"positive":30,"neutral":31,"mixed":32,"critical":33},7,18,1,3,29,{"idea":36,"execution":38,"docs":40},{"positive":37,"critical":37},2,{"positive":39,"critical":39},0,{"positive":39,"critical":32},[42,39,39,33,42,42,42,33,33,39,39,33,39,39,33,42,33,33,33,39,33,39,33,32,39,39,39,39,33,33,39,32,39,39,42,33,39,39,33,33],5,"Hi everyone,\n\nI 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.\n\nIt 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.\n\nThe entire program is very small — just about 400 lines of Go code. I know it’s not anywhere near Wireshark’s level, and I stil",{"problem":45,"audience":51,"pricing":51,"motivation":52,"time_to_build":51,"stack":63,"openness":86,"stage":87,"team_size":88},{"value":46,"source":47,"evidence":48},"Learning network protocol behavior by parsing packets directly","maker",[49],{"id":50},"post",null,{"value":53,"source":47,"evidence":54},"Personal experiment in network parsing and learning protocols; a response to university-related events",[55,56,60],{"id":50},{"id":57,"by":58,"text":59},"44162143","op00to","> This project is not just code — it's a response. Amid political pressure, some universities like Harvard, MIT, and CMU stood up for international students. > I’m just an…",{"id":61,"by":11,"text":62},"44165371","Thank you for this — I had read Linus' first post before and never imagined my tiny tool would be compared to something with that kind of legacy. I'm just an undergrad student in…",[64,71,78],{"value":65,"source":47,"evidence":66},"Go",[67,68],{"id":50},{"id":69,"by":11,"text":70},"44165447","Thanks a lot for sharing this — it's super helpful! Yeah, I’m currently using gopacket mainly to get something working fast, but I’ve been thinking about writing my own parsers…",{"value":72,"source":47,"evidence":73},"gopacket",[74,77],{"id":75,"by":11,"text":76},"44168274","Thanks for the question! 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 —…",{"id":69,"by":11,"text":70},{"value":79,"source":80,"evidence":81},"libpcap","commenter",[82],{"id":83,"by":84,"text":85},"44164079","danudey","In this specific case, the 'static binaries' and 'cross-compilation' aspect aren't relevant, as vanta is a dynamically linked binary with multiple library dependencies; it has to…","open_source","unknown","solo",{"praise":90,"objections":120,"requests":144,"questions":163,"alternatives":178},[91,102,113],{"value":92,"source":80,"evidence":93},"Good learning project for understanding low-level protocols",[94,98],{"id":95,"by":96,"text":97},"44163325","0xbadcafebee","Seconding this. Implementing low level protocols from scratch is a great introduction to network programming (do the kids today ever do network programming, or is it all just 15…",{"id":99,"by":100,"text":101},"44160838","Hikikomori","Cool! I did something similar when I wanted to learn Go, but did my own parsers instead of using gopacket, I would recommend doing that yourself if you want to learn more low…",{"value":103,"source":80,"evidence":104},"Go suits tools like this, easy to customize",[105,109],{"id":106,"by":107,"text":108},"44159978","jasonthorsness","Go is great for tools like this. I've built MITM protocol analyzers a few times. Being able to completely customize the handling, analysis, and break in in the debugger can make…",{"id":110,"by":111,"text":112},"44160527","arbll","For me the main reasons to pick Go in those context are cross-compilation, static binaries and more subjectively better productivity. You can very quickly get an MVP running and…",{"value":114,"source":80,"evidence":115},"Name is a fun pun",[116],{"id":117,"by":118,"text":119},"44160891","poisonborz","Have to say it would be worth making this project just for the sake of this pun alone.",[121,136],{"value":122,"source":80,"evidence":123},"Name clashes with the Vanta compliance company",[124,128,132],{"id":125,"by":126,"text":127},"44159865","andygcook","Congratulations on the launch! FYI there is a pretty well-known YC startup named Vanta that helps companies manage various security compliance certifications. Obviously, there…",{"id":129,"by":130,"text":131},"44161341","mushufasa","Note there's a popular cybersecurity company called \"Vanta\" to which they own the trademark, so the name probably should be changed to avoid confusion.",{"id":133,"by":134,"text":135},"44161121","Andugal","Yes especially since Vanta is an already well known company.",{"value":137,"source":80,"evidence":138},"Text reads like ChatGPT output",[139,140],{"id":57,"by":58,"text":59},{"id":141,"by":142,"text":143},"44162310","singiamtel","It's the em dash that does it for me",[145,152],{"value":146,"source":80,"evidence":147},"Screenshots",[148],{"id":149,"by":150,"text":151},"44160866","thenthenthen","Screenshots please!",{"value":153,"source":80,"evidence":154},"Rename the project",[155,159],{"id":156,"by":157,"text":158},"44159918","karambahh","Yeah, and especially as Vanta is adjacent... I think a rebranding is in order. Vanta (and the auditors they market) is a nice company I'm happy user of but I'm afraid they won't…",{"id":160,"by":161,"text":162},"44160178","colesantiago","This looks nice, perhaps name your project babyshark?",[164,171],{"value":165,"source":80,"evidence":166},"Why Go was chosen",[167],{"id":168,"by":169,"text":170},"44159852","dotaenjoyer322","Cool! Will definitely take a look. Curios what made you choose Go for this project? I am looking into building a toy version of Burp with either Rust\u002FGo but still undecided.",{"value":172,"source":80,"evidence":173},"Whether it wraps gopacket",[174],{"id":175,"by":176,"text":177},"44167962","leumassuehtam","Genuine question: is this a wrapper around Google's gopacket?",[179,187,191,198],{"value":180,"source":80,"evidence":181},"Wireshark",[182,186],{"id":183,"by":184,"text":185},"44161233","worldsayshi","Cool! I've sometimes gotten the impression that wireshark-lite is an unfulfilled niche so this is nice.",{"id":106,"by":107,"text":108},{"value":188,"source":80,"evidence":189},"tcpdump",[190],{"id":83,"by":84,"text":85},{"value":192,"source":80,"evidence":193},"gitm (Burp-like toy proxy in Go)",[194],{"id":195,"by":196,"text":197},"44164537","redawl","Hey, that's what I'm doing! ;) https:\u002F\u002Fgithub.com\u002Fredawl\u002Fgitm I chose go mainly for static binaries (no install steps needed for the end user), and also because I have been…",{"value":199,"source":80,"evidence":200},"netsour",[201],{"id":202,"by":203,"text":204},"44161925","thegoodduck","https:\u002F\u002Fgithub.com\u002Fthegoodduck\u002Fnetsour",{"comments":206,"answered":37,"key":207},9,[208,209,210],{"id":61,"text":62},{"id":69,"text":70},{"id":211,"text":212},"44165377","Thanks for sharing your experience! Go really does shine here—I felt that even as a student building Vanta while learning, things came together surprisingly well. The features…",{"commenters":214,"max_depth":215,"maker_replies":206,"first_comment_mins":30,"lifespan_hours":216},48,4,33,[218,222,226,228,230,231,233,234,235,237,238,239,241,242,243,246,250,253,255,256,258,261,263,264,265,267,268,271,272,275,278,281,283,285,287,290,293,296,299,302,303,306,309,311,314,317,319,323,326,328,331,332,334,337,340,342,345,348,351,353,356,359,360,365,369],[219,39,42,220,221,39],"44161049","maker\u002Fpositive\u002Fnone","Cockbrand",[223,39,39,224,225,39],"44161222","other\u002Fneutral\u002Fnone","dang",[227,39,39,224,221,39],"44161602",[229,39,39,224,225,39],"44163671",[61,39,39,220,11,32],[99,32,33,232,100,39],"maker\u002Fneutral\u002Fnone",[95,32,42,220,96,39],[69,32,39,220,11,32],[106,37,42,236,107,39],"project\u002Fpositive\u002Fidea",[211,37,39,220,11,32],[183,33,42,236,184,39],[240,33,39,232,11,32],"44165406",[168,215,33,232,169,39],[110,215,33,232,111,39],[244,215,39,224,245,39],"44162092","rsync",[247,215,39,248,249,39],"44162447","commenter\u002Fneutral\u002Fnone","duskwuff",[251,215,39,248,252,39],"44175389","sitkack",[83,215,33,254,84,39],"project\u002Fneutral\u002Fexecution",[195,215,39,224,196,39],[257,215,39,232,11,32],"44165430",[259,42,39,224,260,39],"44171012","spacecadet",[262,42,39,248,11,32],"44176117",[175,18,33,254,176,39],[75,18,39,254,11,32],[266,18,42,220,176,39],"44168370",[202,30,39,224,203,39],[149,269,33,270,150,39],8,"project\u002Fneutral\u002Fnone",[160,206,33,270,161,39],[273,206,39,224,274,39],"44160196","qwertytyyuu",[276,206,33,270,277,39],"44160397","mrbluecoat",[279,206,39,248,280,39],"44160529","0xEF",[282,206,39,248,277,39],"44164018",[117,206,42,284,118,39],"project\u002Fpositive\u002Fnone",[133,206,32,286,134,39],"project\u002Fcritical\u002Fidea",[288,206,39,248,289,39],"44162828","ghc",[291,206,33,270,292,39],"44161473","Bad_CRC",[294,206,33,270,295,39],"44161614","Kuraj",[297,206,33,270,298,39],"44163084","qmr",[57,300,32,301,58,39],10,"maker\u002Fcritical\u002Fdocs",[141,300,39,224,142,39],[304,300,39,224,305,39],"44163048","amingilani",[307,300,39,224,308,39],"44167396","yen223",[310,300,39,224,298,39],"44163100",[312,300,39,224,313,39],"44163547","kstrauser",[315,300,39,224,316,39],"44166445","hhh",[318,300,39,232,11,32],"44165501",[320,321,33,270,322,39],"44162572",11,"moffkalast",[324,321,33,270,325,39],"44162945","rezmason",[327,321,39,224,298,39],"44163080",[329,330,39,224,225,39],"44161021",12,[125,330,32,286,126,39],[156,330,33,333,157,39],"project\u002Fmixed\u002Fidea",[335,330,39,224,336,39],"44160219","philipwhiuk",[338,330,39,224,339,39],"44160948","planetpluta",[341,330,39,224,225,39],"44161041",[343,330,42,284,344,39],"44160622","chillpenguin",[346,330,33,270,347,39],"44160794","j1elo",[349,330,33,270,350,39],"44160931","293984j29384",[352,330,39,224,225,39],"44161144",[354,330,39,224,355,39],"44160642","idorube",[357,330,39,224,358,39],"44161137","accrual",[129,330,33,270,130,39],[361,362,33,363,364,39],"44164637",13,"project\u002Fneutral\u002Fdocs","1vuio0pswjnm7",[366,367,33,270,368,39],"44163636",14,"BobbyTables2",[370,367,39,232,11,32],"44165602",[],[373,378,383,387,391,396],{"id":374,"name":375,"points":376,"category":377},"44157177","Kan.bn",509,"productivity",{"id":379,"name":380,"points":381,"category":382},"44126612","Command Line Handbook",454,"learning_science",{"id":384,"name":385,"points":386,"category":20},"44127653","Onlook",408,{"id":388,"name":389,"points":390,"category":20},"44123098","Typed-FFmpeg",342,{"id":392,"name":393,"points":394,"category":395},"44147803","Patio",255,"web_saas",{"id":397,"name":398,"points":399,"category":20},"44174190","AirAP AirPlay server",207,false,"v2",{"id":403,"name":5,"line":6,"ai":400,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":404,"top":18,"kw":405,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":406,"url":9,"mix":407,"praise":92,"objection":122,"sub":21},44159758,0.12,[21,24,25,26],"5003555330030035333030310000330100530033",[30,31,32,33],1793991122309]