node-dhcp - A DHCP server and client written in pure JavaScript

  •        44

node-dhcp is a RFC compliant DHCP client and server implementation on top of node.js.I was searching for a minimalistic DHCP server, which is robust and highly configurable. The first problem I had was: I wanted to deliver an IP address to a Raspberry PI without static configuration right out of my Macbook. However, Apple made it almost impossible to configure the onboard DHCP-server with newer versions of OSX.

https://github.com/infusion/node-dhcp

Dependencies:

minimist : *

Tags
Implementation
License
Platform

   




Related Projects

dhcpwn - All your IPs are belong to us.

  •    Python

DHCPwn is a tool used for testing DHCP IP exhaustion attacks. It can also be used to sniff local DHCP traffic. The DHCP protocol is connectionless and implemented via UDP. These two characteristics allow this attack to be performed. Since there is no actual connection being made between the client and server we can quickly send many spoofed requests.

Dual DHCP DNS Server

  •    C

DHCP plus DNS Server Open Source Freeware Windows/Linux. Works as DHCP or DNS Server or both. Using both services adds DHCP allotted hosts automatically to DNS Server. Support Relay Agent, PXEBOOT, BOOTP, Zone Trasfer, DHCP Range Filters. Download.

netboot Network booting environment

  •    C

The netboot project allows booting a diskless PC over a TCP/IP based network using standard protocols like BOOTP, DHCP and TFTP. It is able to boot Linux, FreeBSD, multiple DOS variants (including MS-DOS, PC-DOS, PTS-DOS, OpenDOS, NovellDOS, FreeDOS)

Mtcp - TCP/IP and applications for DOS systems

  •    C

mTCP is a TCP/IP stack and applications designed to run well on older x86 personal computers running DOS operating systems. Features include stable/robust code and high performance even on the slowest machines. Current applications include an IRC client (IRCjr), an FTP client, a Telnet client, Netcat, Ping, and SNTP client, a DHCP client, HtGet, and an FTP server.

poisontap - Exploits locked/password protected computers over USB, drops persistent WebSocket-based backdoor, exposes internal router, and siphons cookies using Raspberry Pi Zero & Node

  •    Javascript

PoisonTap is built for the $5 Raspberry Pi Zero without any additional components other than a micro-USB cable & microSD card, or can work on any Raspberry Pi (1/2/3) with an Ethernet-to-USB/Thunderbolt dongle, or can work on other devices that can emulate USB gadgets such as USB Armory and LAN Turtle. PoisonTap produces a cascading effect by exploiting the existing trust in various mechanisms of a machine and network, including USB/Thunderbolt, DHCP, DNS, and HTTP, to produce a snowball effect of information exfiltration, network access and installation of semi-permanent backdoors.


PeerVPN - the open source peer-to-peer VPN

  •    C

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.

ClusterN

  •    

ClusterN is a GNU/Linux cluster (server and node) distribution. Server boots from CD and starts DHCP/TFTP/NFS daemons that allow to boot diskless nodes over the network. ClusterN provides PVM/MPI/openMOSIX environment and WWW management software.

openbazaar-go - OpenBazaar 2.0 Server Daemon in Go

  •    Go

This repository contains the OpenBazaar server daemon which handles the heavy lifting for the OpenBazaar desktop application. The server combines several technologies: A modified IPFS node, which itself combines ideas from Git, BitTorrent, and Kademlia. A lightweight SPV Bitcoin wallet for interacting with the Bitcoin network. And a JSON API which can be used by a user interface to control the node and browse the network. If you are looking for the OpenBazaar user interface code see here.A typical install of OpenBazaar contains a bundle of the server daemon and user interface. If this is what you are looking for you can find an installer at https://openbazaar.org/download.html. If you are looking to run the server daemon by itself or to contribute to developement see below for instructions.

alived

  •    C

A simple daemon and client for sending keepalive messages. The server keeps a list of hostname to IP address, useful for when a remote DHCP client changes IP addresses.

Ethernut Embedded Ethernet

  •    C

Open Source SW/HW Project for Embedded Ethernet Applications. Works with AVR ATmega256/128/103, SAM7X, SAM7S(E), SAM9, AT91X40, GameBoy Advance, RTL8019AS, LAN91C111, CS8900 and DM9000E chips. Offers a tiny TCP/IP stack including HTTP, FTP and DHCP.

DHCP lease parser

  •    PHP

lease-parser is a simple daemon that records the lease state changes of an ISC DHCP server to a database for historical reference. The data can be searched via a web search form that is provided with the tool.

Tinc - a VPN daemon

  •    C

tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and encryption to create a secure private network between hosts on the Internet. All traffic is optionally compressed using zlib or LZO, and LibreSSL or OpenSSL is used to encrypt the traffic and protect it from alteration with message authentication codes and sequence numbers.

SmoothWall - Express Open Source Firewall Project

  •    C

SmoothWall is a open source Firewall distribution. It Supports LAN, DMZ, and Wireless networks, Static Ethernet, DHCP Ethernet, PPPoE, PPPoA using various USB and PCI DSL modems. It provides traffic stats, POP3 email proxy with Anti-Virus, Web proxy for accelerated browsing and lot more.

maltrail - Malicious traffic detection system

  •    Python

Maltrail is a malicious traffic detection system, utilizing publicly available (black)lists containing malicious and/or generally suspicious trails, along with static trails compiled from various AV reports and custom user defined lists, where trail can be anything from domain name (e.g. zvpprsensinaix.com for Banjori malware), URL (e.g. http://109.162.38.120/harsh02.exe for known malicious executable), IP address (e.g. 185.130.5.231 for known attacker) or HTTP User-Agent header value (e.g. sqlmap for automatic SQL injection and database takeover tool). Also, it uses (optional) advanced heuristic mechanisms that can help in discovery of unknown threats (e.g. new malware). Maltrail is based on the Traffic -> Sensor <-> Server <-> Client architecture. Sensor(s) is a standalone component running on the monitoring node (e.g. Linux platform connected passively to the SPAN/mirroring port or transparently inline on a Linux bridge) or at the standalone machine (e.g. Honeypot) where it "monitors" the passing Traffic for blacklisted items/trails (i.e. domain names, URLs and/or IPs). In case of a positive match, it sends the event details to the (central) Server where they are being stored inside the appropriate logging directory (i.e. LOG_DIR described in the Configuration section). If Sensor is being run on the same machine as Server (default configuration), logs are stored directly into the local logging directory. Otherwise, they are being sent via UDP messages to the remote server (i.e. LOG_SERVER described in the Configuration section).

redis_failover - redis_failover is a ZooKeeper-based automatic master/slave failover solution for Ruby

  •    Ruby

redis_failover provides a full automatic master/slave failover solution for Ruby. Redis does not currently provide an automatic failover capability when configured for master/slave replication. When the master node dies, a new master must be manually brought online and assigned as the slave's new master. This manual switch-over is not desirable in high traffic sites where Redis is a critical part of the overall architecture. The existing standard Redis client for Ruby also only supports configuration for a single Redis server. When using master/slave replication, it is desirable to have all writes go to the master, and all reads go to one of the N configured slaves. This gem (built using ZK) attempts to address these failover scenarios. One or more Node Manager daemons run as background processes and monitor all of your configured master/slave nodes. When the daemon starts up, it automatically discovers the current master/slaves. Background watchers are setup for each of the redis nodes. As soon as a node is detected as being offline, it will be moved to an "unavailable" state. If the node that went offline was the master, then one of the slaves will be promoted as the new master. All existing slaves will be automatically reconfigured to point to the new master for replication. All nodes marked as unavailable will be periodically checked to see if they have been brought back online. If so, the newly available nodes will be configured as slaves and brought back into the list of available nodes. Note that detection of a node going down should be nearly instantaneous, since the mechanism used to keep tabs on a node is via a blocking Redis BLPOP call (no polling). This call fails nearly immediately when the node actually goes offline. To avoid false positives (i.e., intermittent flaky network interruption), the Node Manager will only mark a node as unavailable if it fails to communicate with it 3 times (this is configurable via --max-failures, see configuration options below). Note that you can (and should) deploy multiple Node Manager daemons since they each report periodic health reports/snapshots of the redis servers. A "node strategy" is used to determine if a node is actually unavailable. By default a majority strategy is used, but you can also configure "consensus" or "single" as well.

WebDHCP

  •    Perl

This project is intended to ease the administrative burden of network administrators that use ISC's DHCP server on a UNIX platform. This program allows the administrator to query, add, delete, or modify most entries in DHCP from the web.

pi-hole - A black hole for Internet advertisements

  •    Shell

The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content, without installing any client-side software. Once the installer has been run, you will need to configure your router to have DHCP clients use Pi-hole as their DNS server which ensures that all devices connecting to your network will have content blocked without any further intervention.

dhcpd-pools

  •    C

ISC dhcpd leases usage analysis

dhcplb - dhcplb is Facebook's implementation of a load balancer for DHCP.

  •    Go

dhcplb is Facebook's implementation of a DHCP v4/v6 relayer with load balancing capabilities. Facebook currently uses it in production, and it's deployed at global scale across all of our data centers. Facebook uses DHCP to provide network configuration to bare-metal machines at provisioning phase and to assign IPs to out-of-band interfaces.

UDPspeeder - A Tunnel which Improves your Network Quality on a High-latency Lossy Link by using Forward Error Correction,for All Traffics(TCP/UDP/ICMP)

  •    C++

A Tunnel which Improves your Network Quality on a High-latency Lossy Link by using Forward Error Correction. Assume your local network to your server is lossy. Just establish a VPN connection to your server with UDPspeeder + any UDP-based VPN, access your server via this VPN connection, then your connection quality will be significantly improved. With well-tuned parameters , you can easily reduce IP or UDP/ICMP packet-loss-rate to less than 0.01% . Besides reducing packet-loss-rate, UDPspeeder can also significantly improve your TCP latency and TCP single-thread download speed.