packetdrill 的一个分支,增加了对
以及通用错误修复,特别是让 packetdrill 在 FreeBSD 上工作所需的几个修复。还支持 MacOS(El Capitan 及更高版本)。
有一些论文(;登录:2013 年 10 月,USENIX ATC '13)和一个介绍 packetdrill 的演示文稿(ICCRG IETF87)。
下载源代码,编译它们并安装二进制文件:
git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/bin
要安装所需的软件包,请运行:
sudo apt-get install make git libsctp-dev bison flex python3 libssl-dev
然后下载源代码,编译它们并安装二进制文件:
git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/bin
要安装所需的软件包,请运行:
sudo pkg install git bison python
然后下载源代码,编译它们并安装二进制文件:
git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/local/bin
能够与sudo
run 结合运行 packetdrill
sudo sysctl -w vm.old_mlock=1
或添加
vm.old_mlock=1
到/etc/sysctl.conf
并重新启动。
packetdrill 不支持 Windows,但 packetdrill 远程模式可以在 Linux 版本 1 (WSL1) 的 Windows 子系统中运行。请注意,WSL1 将 Linux 系统调用映射到 Windows 系统调用,而 WSL2 基本上是一个 Linux VM。要测试 Windows 实现,需要 WSL1。
按照 Linux 说明进行安装。
packetdrill远程模式需要两台主机,wire_client(即被测系统,Windows)和wire_server(即捕获数据包的系统,例如Ubuntu)。
启动wire_server,接口enp0s5f0连接到wire_client。
sudo packetdrill --wire_server --wire_server_dev=enp0s5f0
要在Windows上启动wire_client,首先以管理员身份启动cmd并在其中运行wsl。在 wsl 内,运行
sudo packetdrill --wire_client --wire_client_dev=eth1 --wire_server_ip=10.1.2.3 <script_path>
其中eth1是wsl到wire_server的接口,10.1.2.3是wire_server的enp0s5f0接口的真实IP地址。
持续集成测试的状态可从 Buildbot 获取。