{"id":18637520,"url":"https://github.com/dutchcoders/netstack","last_synced_at":"2025-04-11T09:33:22.582Z","repository":{"id":57485752,"uuid":"70224951","full_name":"dutchcoders/netstack","owner":"dutchcoders","description":"Custom network stack in Go","archived":false,"fork":false,"pushed_at":"2016-12-07T08:00:48.000Z","size":34,"stargazers_count":27,"open_issues_count":0,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T12:13:08.584Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dutchcoders.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-07T07:35:39.000Z","updated_at":"2024-08-12T19:25:22.000Z","dependencies_parsed_at":"2022-09-10T16:32:22.476Z","dependency_job_id":null,"html_url":"https://github.com/dutchcoders/netstack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dutchcoders%2Fnetstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dutchcoders%2Fnetstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dutchcoders%2Fnetstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dutchcoders%2Fnetstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dutchcoders","download_url":"https://codeload.github.com/dutchcoders/netstack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248368351,"owners_count":21092343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T05:36:34.915Z","updated_at":"2025-04-11T09:33:17.572Z","avatar_url":"https://github.com/dutchcoders.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# netstack\nCustom network stack in Go\n\nThis networkstack implements (very) basic and rudimentary support for connecting tcp streams. There needs to be a lot to be implemented and optimised.\n\n# Projects\n\nCurrently netstack is being used by the following projects:\n\n* https://github.com/dutchcoders/anam\n\n# Configuration \n\nLinux will send RST packets for unknown tcp packets, so this needs to be disabled using iptables. \n\n```\niptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP\niptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP\n```\n\n# Samples\n\nSee samples folder.\n\n# References\n\n* http://backreference.org/2010/03/26/tuntap-interface-tutorial/\n* http://stackoverflow.com/questions/3062205/setting-the-source-ip-for-a-udp-socket\n* http://stackoverflow.com/questions/12177708/raw-socket-promiscuous-mode-not-sniffing-what-i-write\n* http://stackoverflow.com/questions/110341/tcp-handshake-with-sock-raw-socket\n* http://devdungeon.com/content/packet-capture-injection-and-analysis-gopacket\n* https://en.wikipedia.org/wiki/Transmission_Control_Protocol#/media/File:Tcp_state_diagram_fixed_new.svg\n* https://github.com/mindreframer/golang-stuff/blob/master/github.com/pebbe/zmq2/examples/udpping1.go\n* https://github.com/adamdunkels/uip/blob/master/uip/uip.c\n* http://www.darkcoding.net/uncategorized/raw-sockets-in-go-ip-layer/\n* http://lxr.free-electrons.com/source/net/ipv4/tcp.c\u003cF37\u003e\n* https://www.freebsd.org/doc/en/books/developers-handbook/sockets-essential-functions.html\n* http://stackoverflow.com/questions/8047728/how-to-set-linux-kernel-not-to-send-rst-ack-so-that-i-can-give-syn-ack-within-r\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdutchcoders%2Fnetstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdutchcoders%2Fnetstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdutchcoders%2Fnetstack/lists"}