zsocket - Zero-copy sockets for Linux in Golang

  •        3

ZSocket is a library that wraps the linux zero-copy socket syscall to create a ring buffer in a memory mapped file. It also contains some utility functions and types to help with a handful of layer 2, 3, and 4 types. It is a lot like libcap, except it has easy to understand facilities for writing (injecting packets) to an interface. ZSocket doesn't contain or wrap any C/C++, and it is lock free and thread safe.

https://github.com/nathanjsweet/zsocket

Tags
Implementation
License
Platform

   




Related Projects

Mininet - An Instant Virtual Network on your Laptop (or other PC)


Mininet emulates a complete network of hosts, links, and switches on a single machine. It creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command.

SocialVPN - P2P VPN that connects you to your friends computer


SocialVPN is an open-source IPOP-based virtual network that connects your computers privately to your friends’ computers. It automatically maps online social network relationships using Jingle and XMPP to create your own user-defined peer-to-peer VPNs – with no hassle, and supporting unmodified TCP/IP applications.

ONIE - Open Network Install Environment


The Open Network Install Environment (ONIE) is an open source initiative that defines an open "install environment" for modern networking hardware. ONIE enables an open networking hardware ecosystem where end users have a choice among different network operating systems.

RTL-lwIP


RTL-lwIP is the porting of the lwIP TCP/IP stack to RTLinux-GPL. It allows the RT-Tasks to use a socket-like API to send and receive TCP/UDP messages through an Ethernet network. Two Ethernet cards are supported: - 3Com905C-X - Realtek8139

PeerVPN - the open source peer-to-peer VPN


PeerVPN is a software that builds virtual ethernet networks between multiple computers. Such a virtual network can be useful to facilitate direct communication that applications like file sharing or gaming may need. Often, such direct communication is made impossible or very difficult by firewalls or NAT devices.


OpenSwitch - Linux-based network operating system (NOS) platform


OpenSwitch provides an abstraction of hardware devices of network switch platforms in a Linux OS environment. It uses standard open source software including an ONIE installer, and an unmodified Linux kernel based on Debian Jessie distribution. It provides an object-centric API for application development to implement custom applications using a well-defined object model, and set of programmatic APIs.

evpp - A modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols


evpp is a modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols. evpp provides a TCP Server to support multi-threaded nonblocking event-drive server and also a HTTP, UDP Server to support http and udp prococol.NOTE: master is our development branch and may not be stable at all times.

Python Packet Capture Library


Pycap provides the ability to capture packets from, and inject packets onto, network interfaces. It dissects commonly found structures in network packets such as Ethernet, IP, ARP, TCP, UDP, and ICMP headers.

EtherApe


EtherApe is a graphical network monitor modeled after etherman. Featuring Ethernet, IP, TCP, FDDI, Token Ring and wireless modes, it displays network activity graphically. Hosts and links change in size with traffic. Color coded protocols display.

AnetTest


Integrated packet generator and sniffer for Ethernet, but also works with blocks of data over TCP connection. Enables you to use scripts for automated testing, monitoring, imitating of various network objects, creating custom network tools.

monitord


A lightweight (distributed?) network security monitor for TCP/IP+Ethernet LANs. It will capture certain network events and record them in a relational database. The recorded data will be available for analysis through a CGI based interface.

IP and Ethernet testing Tool


IP and Ethernet testing Tool (quot;IETquot;) is an ethernet bridge addon for testing of network applications. It emulates network error conditions like packet loss, delay and bandwidth restraints. IET focuses on testing of network applications.

Netty - Event-driven Asynchronous Network Application Framework


Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.

NS 3 - Network Simulator


Ns is a discrete event simulator targeted at networking research. Ns provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless (local and satellite) networks.

SoftEther VPN - Cross-platform Multi-protocol VPN Program


SoftEther VPN is a ?Cross-platform Multi-protocol VPN Program. It supports SSL-VPN protocol to penetrate any kinds of firewalls. Ultra-optimized SSL-VPN Protocol of SoftEther VPN has very fast throughput, low latency and firewall resistance. Virtualization of Ethernet devices is the key of the SoftEther VPN architecture. It virtualizes Ethernet devices in order to realize a flexible virtual private network for both remote-access VPN and site-to-site VPN.

Tcpcrypt - Encrypting the Internet


Tcpcrypt is a protocol that attempts to encrypt (almost) all of your network traffic. Unlike other security mechanisms, Tcpcrypt works out of the box: it requires no configuration, no changes to applications, and your network connections will continue to work even if the remote end does not support Tcpcrypt, in which case connections will gracefully fall back to standard clear-text TCP.

Zmap - The Internet Scanner


ZMap is an open-source network scanner that enables researchers to easily perform Internet-wide network studies. With a single machine and a well provisioned network uplink, ZMap is capable of performing a complete scan of the IPv4 address space in under 45 minutes, approaching the theoretical limit of gigabit Ethernet. ZMap can be used to study protocol adoption over time, monitor service availability, and help us better understand large systems distributed across the Internet.

Airview 1.0


Airview 1.0 is designed for capturing and analyzing network packets on wireless 802.11a/b/g and TCP/UDP Ethernet networks. It gathers information from the wireless adapter and decodes the analyzed data through PSSDK. No installed packet capture required.

OpenVPN - open source SSL VPN solution


OpenVPN is a full-featured open source SSL VPN solution that accommodates a wide range of configurations, including remote access, site-to-site VPNs, Wi-Fi security, and enterprise-scale remote access solutions with load balancing, failover, and fine-grained access-controls. With OpenVPN, you can tunnel any IP subnetwork or virtual ethernet adapter over a single UDP or TCP port, use real-time adaptive link compression and traffic-shaping to manage link bandwidth utilization and lot more.

pcap2mysql


Network decoder and file exporter. Reads pcap files or sniffs traffic and stores data in mysql. Supports ethernet,ARP,STP,IP,TCP,UDP and ICMP and on layer7 bittorrent,DNS,FTP,HTTP,IRC,Mail,MSN,palltalk,POP3,SIP,smtp and ssh