All Projects → nplab → packetdrill

nplab / packetdrill

Licence: other
packetdrill with UDPLite and SCTP support and bug fixes for FreeBSD

Programming Languages

c
50402 projects - #5 most used programming language
Yacc
648 projects
Lex
420 projects

Projects that are alternatives of or similar to packetdrill

opengnb
GNB is open source de-centralized VPN to achieve layer3 network via p2p with the ultimate capability of NAT Traversal.GNB是一个开源的去中心化的具有极致内网穿透能力的通过P2P进行三层网络交换的VPN。
Stars: ✭ 440 (+1089.19%)
Mutual labels:  freebsd, openbsd, tcp, udp
Gnb
GNB is open source de-centralized VPN to achieve layer3 network via p2p with the ultimate capability of NAT Traversal.GNB是一个开源的去中心化的具有极致内网穿透能力的通过P2P进行三层网络交换的VPN。
Stars: ✭ 225 (+508.11%)
Mutual labels:  freebsd, openbsd, tcp, udp
gnb udp over tcp
gnb_udp_over_tcp 是一个为GNB开发的通过tcp链路中转UDP分组转发的服务
Stars: ✭ 32 (-13.51%)
Mutual labels:  freebsd, openbsd, tcp, udp
psutil
Cross-platform lib for process and system monitoring in Python
Stars: ✭ 8,488 (+22840.54%)
Mutual labels:  freebsd, openbsd, netbsd
gsmartcontrol
GSmartControl - Hard disk drive and SSD health inspection tool
Stars: ✭ 183 (+394.59%)
Mutual labels:  freebsd, openbsd, netbsd
Postinstall
💻 Bash Script to automate post-installation steps
Stars: ✭ 104 (+181.08%)
Mutual labels:  freebsd, openbsd, netbsd
Daemonize
daemonize is a library for writing system daemons in Python.
Stars: ✭ 396 (+970.27%)
Mutual labels:  freebsd, openbsd, netbsd
Mg
Micro (GNU) Emacs-like text editor ❤️ public-domain
Stars: ✭ 117 (+216.22%)
Mutual labels:  freebsd, openbsd, netbsd
Libtuntap
The portable Tun/Tap devices configuration utility
Stars: ✭ 107 (+189.19%)
Mutual labels:  freebsd, openbsd, netbsd
Objfw
[Official Mirror] A portable framework for the Objective-C language.
Stars: ✭ 161 (+335.14%)
Mutual labels:  freebsd, openbsd, netbsd
InitKit
Neo-InitWare is a modular, cross-platform reimplementation of the systemd init system. It is experimental.
Stars: ✭ 364 (+883.78%)
Mutual labels:  freebsd, openbsd, netbsd
Qtfm
Qt File Manager
Stars: ✭ 73 (+97.3%)
Mutual labels:  freebsd, openbsd, netbsd
Ruby Vmstat
A focused and fast library to gather memory, cpu, network, load avg and disk information
Stars: ✭ 68 (+83.78%)
Mutual labels:  freebsd, openbsd, netbsd
Awesome-BSD-Ports-Programs-And-Projects
A Repo Detailing BSD Ports, Programs, and Projects.
Stars: ✭ 46 (+24.32%)
Mutual labels:  freebsd, openbsd, netbsd
Awesome Unix
All the UNIX and UNIX-Like: Linux, BSD, macOS, Illumos, 9front, and more.
Stars: ✭ 973 (+2529.73%)
Mutual labels:  freebsd, openbsd, netbsd
Fisy Fuzz
This is the full file system fuzzing framework that I presented at the Hack in the Box 2020 Lockdown Edition conference in April.
Stars: ✭ 110 (+197.3%)
Mutual labels:  freebsd, openbsd, netbsd
Awesome Bsd
A collection of awesome BSD related stuff
Stars: ✭ 236 (+537.84%)
Mutual labels:  freebsd, openbsd, netbsd
WendzelNNTPd
A usable and IPv6-ready Usenet-server (NNTP daemon). It is portable (Linux/*BSD/*nix), supports AUTHINFO authentication, contains ACL as well as role based ACL and provides "invisible" newsgroups. It can run on MySQL and SQLite backends.
Stars: ✭ 43 (+16.22%)
Mutual labels:  freebsd, openbsd, netbsd
Cosmopolitan
build-once run-anywhere c library
Stars: ✭ 6,324 (+16991.89%)
Mutual labels:  freebsd, openbsd, netbsd
Ecominit
eComInit is a free init system and service manager designed to scale from lightweight desktops to web-scale cloud deployments. It aims to offer feature-parity with systemd but with a modular, portable architecture compliant with software engineering best-practice.
Stars: ✭ 352 (+851.35%)
Mutual labels:  freebsd, openbsd, netbsd

packetdrill

Coverity Scan Build Status

A fork of packetdrill which adds support for

and generic bugfixes, espcially several fixes required to get packetdrill working on FreeBSD. MacOS (El Capitan and higher) is also supported.

Information

There are some papers (;login: October 2013, USENIX ATC '13) and a presentation (ICCRG IETF87) describing packetdrill.

Installation

MacOS (El Capitan and higer)

Download the sources, compile them and install the binary:

git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/bin

Linux (Ubuntu)

For installing the required packages run:

sudo apt-get install make git libsctp-dev bison flex python

Then download the sources, compile them and install the binary:

git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/bin

FreeBSD

For installing the required packages run:

sudo pkg install git bison python

Then download the sources, compile them and install the binary:

git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/local/bin

To be able to run packetdrill in combination with sudo run

sudo sysctl -w vm.old_mlock=1

or add

vm.old_mlock=1

to /etc/sysctl.conf and reboot.

Windows (Windows 11)

packetdrill has no Windows support, but the packetdrill remote mode works inside the Windows Subsystem for Linux version 1 (WSL1). Note, WSL1 maps Linux system calls to Windows system calls, whereas WSL2 is basically a Linux VM. To test the Windows implementation, WSL1 is required.

Follow the Linux instructions for installation.

The packetdrill remote mode requires two hosts, the wire_client (i.e., the system under test, Windows) and the wire_server (i.e., the system that captures the packets, e.g. Ubuntu).

To start the wire_server with interface enp0s5f0 connecting to wire_client.

sudo packetdrill --wire_server --wire_server_dev=enp0s5f0

To start the wire_client on Windows, first start a cmd as Administrator and run wsl within it. Inside the wsl, run

sudo packetdrill --wire_client --wire_client_dev=eth1 --wire_server_ip=10.1.2.3 <script_path>

where eth1 is wsl's interface to the wire_server and 10.1.2.3 is the real IP address of wire_server's enp0s5f0 interface.

Continous Integration

The status of continous integration testing is available from Buildbot.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].