cidranger - Fast IP to CIDR lookup in Golang

  •        263

Fast IP to CIDR block(s) lookup using trie in Golang, inspired by IPv4 route lookup linux. Possible use cases include detecting if a IP address is from published cloud provider CIDR blocks (e.g. 52.95.110.1 is contained in published AWS Route53 CIDR 52.95.110.0/24), IP routing rules, etc.This is visualization of a trie storing CIDR blocks 128.0.0.0/2 192.0.0.0/2 200.0.0.5 without path compression, the 0/1 number on the path indicates the bit value of the IP address at specified bit position, hence the path from root node to a child node represents a CIDR block that contains all IP ranges of its children, and children's children.

https://github.com/yl2chen/cidranger

Tags
Implementation
License
Platform

   




Related Projects

IPNetwork utility computes your netmask, cidr, subnet, supernet and network

  •    CSharp

IPNetwork command line and C# library take care of complex network, ip, netmask, cidr, subnet, subnetting, supernet and supernetting calculation for .Net developpers. It works with IPv4, it is written in C# and has a light and clean API and is fully unit tested.

water - A simple TUN/TAP library written in native Go (golang).

  •    Go

water is a native Go library for TUN/TAP interfaces.water/waterutil has some useful functions to interpret MAC frame headers and IP packet headers. It also contains some constants such as protocol numbers and ethernet frame types.

NS 3 - Network Simulator

  •    C

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.

Wiretrustee - Connect your devices into a single secure private WireGuard®-based mesh network

  •    Go

Wiretrustee is an open-source VPN platform built on top of WireGuard making it easy to create secure private networks for your organization or home. It requires zero configuration effort leaving behind the hassle of opening ports, complex firewall rules, VPN gateways, and so forth.

GRASSMARLIN - Provides situational awareness of Industrial Control Systems (ICS) and Supervisory Control and Data Acquisition (SCADA) networks in support of network security assessments

  •    Java

GRASSMARLIN provides IP network situational awareness of industrial control systems (ICS) and Supervisory Control and Data Acquisition (SCADA) networks to support network security. Passively map, and visually display, an ICS/SCADA network topology while safely conducting device discovery, accounting, and reporting on these critical cyber-physical systems. A presentation on GRASSMARLIN is also available.


skydive - An open source real-time network topology and protocols analyzer

  •    Go

Skydive is an open source real-time network topology and protocols analyzer. It aims to provide a comprehensive way of understanding what is happening in the network infrastructure. Skydive agents collect topology informations and flows and forward them to a central agent for further analysis. All the informations are stored in an Elasticsearch database.

pms-docker - Plex Media Server Docker repo, for all your PMS docker needs.

  •    Shell

With our easy-to-install Plex Media Server software and your Plex apps, available on all your favorite phones, tablets, streaming devices, gaming consoles, and smart TVs, you can stream your video, music, and photo collections any time, anywhere, to any device. The bridge networking creates an entirely new network within the host and runs containers within there. This network is connected to the physical network via an internal router and docker configures this router to forward certain ports through to the containers within. The host networking uses the IP address of the host running docker such that a container's networking appears to be the host rather than separate. The macvlan networking creates a new virtual computer on the network which is the container. For purposes of setting up a plex container, the host and macvlan are very similar in configuration.

nano - Lightweight, facility, high performance golang based game server framework

  •    Go

Nano is an easy to use, fast, lightweight game server networking library for Go. It provides a core network architecture and a series of tools and libraries that can help developers eliminate boring duplicate work for common underlying logic. The goal of nano is to improve development efficiency by eliminating the need to spend time on repetitious network related programming.Nano was designed for server-side applications like real-time games, social games, mobile games, etc of all sizes.

nano - Lightweight, facility, high performance golang based game server framework

  •    Go

Nano is an easy to use, fast, lightweight game server networking library for Go. It provides a core network architecture and a series of tools and libraries that can help developers eliminate boring duplicate work for common underlying logic. The goal of nano is to improve development efficiency by eliminating the need to spend time on repetitious network related programming. Nano was designed for server-side applications like real-time games, social games, mobile games, etc of all sizes.

snap - Stanford Network Analysis Platform (SNAP) is a general purpose network analysis and graph mining library

  •    C++

Stanford Network Analysis Platform (SNAP) is a general purpose network analysis and graph mining library.

Fast-Android-Networking - 🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀

  •    Java

Fast Android Networking Library is a powerful library for doing any type of networking in Android applications which is made on top of OkHttp Networking Layer. Fast Android Networking Library takes care of each and everything. So you don't have to do anything, just make request and listen for the response.

cpp-netlib - The C++ Network Library Project

  •    C++

The project aims to build upon the latest C++ standard (currently C++11) to provide easy to use libraries for network programming. We use the latest compiler versions and features with an eye on pushing the boundaries on leveraging what's available in C++. Currently the library contains an HTTP client and server implementation, a stand-alone URI library, a network message framework, and some concurrency tools.

LibTML Messaging Suite - Network Messaging Library in C++

  •    C++

TML Messaging Suite is a network messaging library for rapid development of extensible and scalable interfaces. Based on the peer to peer standard protocol BEEP (Blocks Extensible Exchange Protocol), defined in RFC3080 and RFC3081 libTML is suitable for many use cases and communication patterns. The libtml-c project is a C++ implementation of a library with a C interface on top of the Vortex beepcore.

specs - Technical specifications for the libp2p networking stack

  •    

This document presents libp2p, a modularized and extensible network stack to overcome the networking challenges faced when doing peer-to-peer applications. libp2p is used by IPFS as its networking library. This describes the IPFS network protocol. The network layer provides point-to-point transports (reliable and unreliable) between any two IPFS nodes in the network.

fossa - Async non-blocking multi-protocol networking library for C/C++

  •    C

Fossa is a multi-protocol networking library written in C. It provides easy to use event-driven interface that allows to implement network protocols or scalable network applications with little effort. Fossa helps developers to manage the complexity of network programming and let them concentrate on the logic, saving time and money. Fossa has built-in support for several protocols, like HTTP, Websocket, MQTT, mDNS. Example applications include Websocket-based chat server, JSON-RPC server, database server with RESTful API, MQTT broker, netcat with SSL and hexdump, Raspberry PI camera video feed + led control, and more.

nff-go - NFF-Go -Network Function Framework for GO (former YANFF)

  •    Go

NFF-Go becomes part of DPDK project umbrella under Linux Foundation! Mirror repo can be found here: http://dpdk.org/browse/apps/nff-go/. We will accept patches through DPDK mail-list and standard DPDK contribution process too. NFF-Go is a set of libraries for creating and deploying cloud-native Network Functions (NFs). It simplifies the creation of network functions without sacrificing performance.

Xennet Network Library

  •    C++

Xennet Library is a Cross-Platform Network Library providing high-level access to native Sockets, Network Classes and Network interfaces. Xennet also provides additional classes and functions for usability and additional networking features.

gopcap - A simple wrapper around libpcap for the Go programming language

  •    Go

This is a simple wrapper around libpcap for Go. Originally written by Andreas Krennmair ak@synflood.at and only minorly touched up by Mark Smith mark@qq.is.Please see the included pcaptest.go and tcpdump.go programs for instructions on how to use this library.

go-libp2p - libp2p implementation in Go

  •    Go

libp2p is a networking stack and library modularized out of The IPFS Project, and bundled separately for other tools to use. libp2p is the product of a long, and arduous quest of understanding -- a deep dive into the internet's network stack, and plentiful peer-to-peer protocols from the past. Building large scale peer-to-peer systems has been complex and difficult in the last 15 years, and libp2p is a way to fix that. It is a "network stack" -- a protocol suite -- that cleanly separates concerns, and enables sophisticated applications to only use the protocols they absolutely need, without giving up interoperability and upgradeability. libp2p grew out of IPFS, but it is built so that lots of people can use it, for lots of different projects.

Wireshark - Network Traffic Analyzer

  •    C

Wireshark is a network traffic analyzer, or "sniffer", for Linux, macOS, *BSD and other Unix and Unix-like operating systems and for Windows. It uses Qt, a graphical user interface library, and libpcap and npcap as packet capture and filtering libraries.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.