Um fork do packetdrill que adiciona suporte para
e correções de bugs genéricas, especialmente diversas correções necessárias para que o packetdrill funcione no FreeBSD. MacOS (El Capitan e superior) também é compatível.
Existem alguns artigos (;login: outubro de 2013, USENIX ATC '13) e uma apresentação (ICCRG IETF87) descrevendo o packetdrill.
Baixe os fontes, compile-os e instale o binário:
git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/bin
Para instalar os pacotes necessários, execute:
sudo apt-get install make git libsctp-dev bison flex python3 libssl-dev
Em seguida, baixe os fontes, compile-os e instale o binário:
git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/bin
Para instalar os pacotes necessários, execute:
sudo pkg install git bison python
Em seguida, baixe os fontes, compile-os e instale o binário:
git clone https://github.com/nplab/packetdrill.git
cd packetdrill/gtests/net/packetdrill/
./configure
make
sudo cp packetdrill /usr/local/bin
Para poder executar o packetdrill em combinação com sudo
run
sudo sysctl -w vm.old_mlock=1
ou adicione
vm.old_mlock=1
para /etc/sysctl.conf
e reinicie.
packetdrill não tem suporte para Windows, mas o modo remoto packetdrill funciona dentro do subsistema Windows para Linux versão 1 (WSL1). Observe que WSL1 mapeia chamadas de sistema Linux para chamadas de sistema Windows, enquanto WSL2 é basicamente uma VM Linux. Para testar a implementação do Windows, é necessário WSL1.
Siga as instruções do Linux para instalação.
O modo remoto packetdrill requer dois hosts, o wire_client (ou seja, o sistema em teste, Windows) e o wire_server (ou seja, o sistema que captura os pacotes, por exemplo, Ubuntu).
Para iniciar o wire_server com interface enp0s5f0 conectando-se ao wire_client.
sudo packetdrill --wire_server --wire_server_dev=enp0s5f0
Para iniciar o wire_client no Windows, primeiro inicie um cmd como Administrador e execute wsl dentro dele. Dentro do wsl, corra
sudo packetdrill --wire_client --wire_client_dev=eth1 --wire_server_ip=10.1.2.3 <script_path>
onde eth1 é a interface do wsl para o wire_server e 10.1.2.3 é o endereço IP real da interface enp0s5f0 do wire_server.
O status do teste de integração contínua está disponível no Buildbot.