libdnet
Abstract
libdnet provides a simplified, portable interface to several low-level
networking routines, including
- network address manipulation
- kernel arp(4) cache and route(4) table lookup and manipulation
- network firewalling (IP filter, ipfw, ipchains, pf, PktFilter, ...)
- network interface lookup and manipulation
- IP tunnelling (BSD/Linux tun, Universal TUN/TAP device)
- raw IP packet and Ethernet frame transmission
Supported languages:
- C, C++
- Python
- Perl, Ruby (see below)
Supported platforms:
- BSD (OpenBSD, FreeBSD, NetBSD, BSD/OS)
- Linux (Redhat, Debian, Slackware, etc.)
- MacOS X
- Windows (NT/2000/XP)
- Solaris
- IRIX
- HP-UX
- Tru64
Builds cleanly on, but needs work - see TODO:
(please let me know if you have access to these systems!)
Download
Documentation
Support
Links
Related work:
Projects that use libdnet:
- arpd - ARP daemon
- arpscan - ARP scanner
- dhcp-agent - portable Unix DHCP client
- firewalk - determine firewall/router ACLs remotely
- fragroute - intercept, modify, and rewrite traffic to a target
- ganglia - real-time monitoring and execution environment for large-scale computer clusters
- gdnet - GTK+ interface demonstrating much of libdnet's functionality
- honeyd - virtual network honeypots
- ip6sic - IPv6 stack stress-testing tool
- labrea - simple worm tarpit
- lsrscan - loose source route scanner
- lsrtunnel - connection spoofing via loose source routing
- mplscan - send GRE-tunnelled MPLS packets
- nmap - the gold standard network scanner
- nttlscan - quick topology scanner / parallel traceroute
- Open1x - open-source implementation of IEEE 802.1x
- ring - OS fingerprinting through TCP rexmit timeouts
- scapy - interactive packet manipulation program
- synscan - scriptable TCP/IP test tool for network testing and active OS fingerprinting
- stegtunnel - IP ID / TCP ISN covert channels
- ttlscan - TCP SYN scanner with TTL printing
- unicornscan - distributed scanner
- vomit - sniff from, and inject into, Cisco IP phone conversations