{"slug": "netcat", "name": "netcat", "category": "terminal", "category_name": "Terminal and shell", "description": "", "recommenders": 5, "commenters": 7, "warners": 0, "score": 4.9, "rising": -0.31, "first": "2025-11-16", "latest": "2026-08-27", "why": "I used telnet(1) as a generic TCP text client for many years before switching to GNU/BSD netcat.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 2, "compare": 0, "warn": 0}, "spark": [1, 0, 0, 2, 0, 0, 0, 1, 0, 1, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I used telnet(1) as a generic TCP text client for many years before switching to GNU/BSD netcat.", "kind": "", "icon": true, "domain": "sourceforge.io", "github_repo": null, "official_url": "https://sourceforge.io", "pricing": "", "aliases": ["netcat"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 791466210, "item_id": 49466638, "url": "https://news.ycombinator.com/item?id=49466638", "by": "1vuio0pswjnm7", "date": "2026-08-27", "stance": "recommend", "quote": "Original netcat has no required third party dependencies, no recommended third party dependencies", "excerpt": "Peers might not want to use third party rendezvous servers or relay servers It appears that Tailscale attempts to persuade peers not to run own \"DERP\" servers (cf. encouraging peers to run own servers) \"In general, you should not need to or want to run this code. The overwhelming majority of Tailscale users (both individuals and companies) do not.\" \"Running your own DERP services requires exeprtise [sic] in multi-lay", "context": "", "use_case": "", "switched_from": "", "story": "Tailcat \u2013 Like netcat, but over Tailscale\u2019s data plane"}, {"id": 776952592, "item_id": 48559537, "url": "https://news.ycombinator.com/item?id=48559537", "by": "some_random", "date": "2026-06-16", "stance": "recommend", "quote": "nc is basically just a nicer interface for the same thing, in the same way that curl is.", "excerpt": "nc is basically just a nicer interface for the same thing, in the same way that curl is. https://linux.die.net/man/1/nc", "context": "", "use_case": "", "switched_from": "", "story": "TIL: You can make HTTP requests without curl using Bash /dev/TCP"}, {"id": 751526624, "item_id": 46970414, "url": "https://news.ycombinator.com/item?id=46970414", "by": "mananaysiempre", "date": "2026-02-10", "stance": "recommend", "quote": "netcat or socat make fine ad-hoc clients", "excerpt": "What I meant in my remark about Telnet is that, if you just want is a bidirectional byte pipe to e.g. run a terminal over, then you just need TCP or anything else providing the same abstraction, like TLS-over-TCP or TCP-over-IPsec; whether you then choose to run a getty on that terminal is not for the network to care. (I don\u2019t believe you can get netcat to drive a PTY, so you\u2019ll need e.g. socat. And of course if you ", "context": "", "use_case": "", "switched_from": "", "story": "The Day the Telnet Died"}, {"id": 751499441, "item_id": 46968715, "url": "https://news.ycombinator.com/item?id=46968715", "by": "ktpsns", "date": "2026-02-10", "stance": "recommend", "quote": "I used telnet(1) as a generic TCP text client for many years before switching to GNU/BSD netcat.", "excerpt": "I used telnet(1) as a generic TCP text client for many years before switching to GNU/BSD netcat. Nowadays, netcat is more prominent then telnet, and telnet had its corner cases with control characters. Never heard about https://jetmore.org/john/code/swaks/, thanks for the tip.", "context": "", "use_case": "generic TCP text client", "switched_from": "telnet", "story": "The Day the Telnet Died"}, {"id": 735202881, "item_id": 45950180, "url": "https://news.ycombinator.com/item?id=45950180", "by": "cagataycali", "date": "2025-11-16", "stance": "recommend", "quote": "which I am a proud user of nc localhost 9999", "excerpt": "select * from protocols # ipc, tcp, http, websockets, ...? MCP and A2A are JSONRPC schemas people follow to build abstraction around their tools. Agents can use MCP to discover tools, invoke and more. OpenAPI Schemas are good alternatives to MCP servers today. In comparison to OpenAPI Schemas, MCP servers are pretty new. my fav protocol is TCP, which I am a proud user of nc localhost 9999. but not everyone have same ", "context": "", "use_case": "raw TCP connections", "switched_from": "", "story": "What if you don't need MCP at all?"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["transferring data", "generic tcp text client", "raw tcp connections"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46967772", "title": "The Day the Telnet Died", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49452990", "title": "Tailcat \u2013 Like netcat, but over Tailscale\u2019s data plane", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48558018", "title": "TIL: You can make HTTP requests without curl using Bash /dev/TCP", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48349404", "title": "Patching my guitar amp's firmware", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45947444", "title": "What if you don't need MCP at all?", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {}, "2026-02": {"recommend": 2, "neutral": 1}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {"neutral": 1, "recommend": 1}, "2026-07": {}, "2026-08": {"recommend": 1}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 791466210, "item_id": 49466638, "url": "https://news.ycombinator.com/item?id=49466638", "by": "1vuio0pswjnm7", "date": "2026-08-27", "stance": "recommend", "quote": "Original netcat has no required third party dependencies, no recommended third party dependencies", "excerpt": "Peers might not want to use third party rendezvous servers or relay servers It appears that Tailscale attempts to persuade peers not to run own \"DERP\" servers (cf. encouraging peers to run own servers) \"In general, you should not need to or want to run this code. The overwhelming majority of Tailscale users (both individuals and companies) do not.\" \"Running your own DERP services requires exeprtise [sic] in multi-lay", "context": "", "use_case": "", "switched_from": "", "story": "Tailcat \u2013 Like netcat, but over Tailscale\u2019s data plane"}, {"id": 776952592, "item_id": 48559537, "url": "https://news.ycombinator.com/item?id=48559537", "by": "some_random", "date": "2026-06-16", "stance": "recommend", "quote": "nc is basically just a nicer interface for the same thing, in the same way that curl is.", "excerpt": "nc is basically just a nicer interface for the same thing, in the same way that curl is. https://linux.die.net/man/1/nc", "context": "", "use_case": "", "switched_from": "", "story": "TIL: You can make HTTP requests without curl using Bash /dev/TCP"}, {"id": 775743762, "item_id": 48483985, "url": "https://news.ycombinator.com/item?id=48483985", "by": "chinkinthearmor", "date": "2026-06-10", "stance": "neutral", "quote": "`netcat`ing it out", "excerpt": "Thanks for this response, this is awesome! I agree with but extend your last point about breadcrumbs - it's not just that write-ups are hard to find, it's that even several great write-ups for adjacent projects may not be sufficient for a beginner to synthesize a path for his specific project. I spent a week watching YouTube videos and reading in preparation to dump the router firmware, and it still took me 3 days be", "context": "", "use_case": "Transferring data", "switched_from": "", "story": "Patching my guitar amp's firmware"}, {"id": 751740384, "item_id": 46983774, "url": "https://news.ycombinator.com/item?id=46983774", "by": "Twisol", "date": "2026-02-11", "stance": "neutral", "quote": "If netcat is compiled with -DTELNET, the -t argument enables it to respond to telnet option negotiation", "excerpt": "I agree in principle, but actually, according to the netcat website [0]: > If netcat is compiled with -DTELNET, the -t argument enables it to respond to telnet option negotiation [always in the negative, i.e. DONT or WONT]. This allows it to connect to a telnetd and get past the initial negotiation far enough to get a login prompt from the server. Since this feature has the potential to modify the data stream, it is ", "context": "", "use_case": "", "switched_from": "", "story": "The Day the Telnet Died"}, {"id": 751526624, "item_id": 46970414, "url": "https://news.ycombinator.com/item?id=46970414", "by": "mananaysiempre", "date": "2026-02-10", "stance": "recommend", "quote": "netcat or socat make fine ad-hoc clients", "excerpt": "What I meant in my remark about Telnet is that, if you just want is a bidirectional byte pipe to e.g. run a terminal over, then you just need TCP or anything else providing the same abstraction, like TLS-over-TCP or TCP-over-IPsec; whether you then choose to run a getty on that terminal is not for the network to care. (I don\u2019t believe you can get netcat to drive a PTY, so you\u2019ll need e.g. socat. And of course if you ", "context": "", "use_case": "", "switched_from": "", "story": "The Day the Telnet Died"}, {"id": 751499441, "item_id": 46968715, "url": "https://news.ycombinator.com/item?id=46968715", "by": "ktpsns", "date": "2026-02-10", "stance": "recommend", "quote": "I used telnet(1) as a generic TCP text client for many years before switching to GNU/BSD netcat.", "excerpt": "I used telnet(1) as a generic TCP text client for many years before switching to GNU/BSD netcat. Nowadays, netcat is more prominent then telnet, and telnet had its corner cases with control characters. Never heard about https://jetmore.org/john/code/swaks/, thanks for the tip.", "context": "", "use_case": "generic TCP text client", "switched_from": "telnet", "story": "The Day the Telnet Died"}, {"id": 735202881, "item_id": 45950180, "url": "https://news.ycombinator.com/item?id=45950180", "by": "cagataycali", "date": "2025-11-16", "stance": "recommend", "quote": "which I am a proud user of nc localhost 9999", "excerpt": "select * from protocols # ipc, tcp, http, websockets, ...? MCP and A2A are JSONRPC schemas people follow to build abstraction around their tools. Agents can use MCP to discover tools, invoke and more. OpenAPI Schemas are good alternatives to MCP servers today. In comparison to OpenAPI Schemas, MCP servers are pretty new. my fav protocol is TCP, which I am a proud user of nc localhost 9999. but not everyone have same ", "context": "", "use_case": "raw TCP connections", "switched_from": "", "story": "What if you don't need MCP at all?"}]}