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 取得。