DupliGator é um replicador de pacotes UDP inspirado no Samplicator (https://github.com/sleinen/samplicator).
Atualmente, ele suporta UDP para UDP (com falsificação de origem), UDP para TCP e IPv4 e IPv6.
Fontes e receptores com diferentes versões de IP podem ser combinados. Ou seja, as cargas úteis podem entrar via IPv4 e UDP, mas ser enviadas por IPv4 ou IPv6 com UDP ou TCP. O único requisito é que os pacotes venham do UDP, mas isso pode ser facilmente alterado no futuro.
A única limitação está na falsificação de origem, que só é permitida com UDP e apenas entre versões de IP correspondentes.
Basta baixar, compilar e executar.
go get github.com/google/gopacket
go get github.com/google/gopacket/layers
go get github.com/go-yaml/yaml
go get github.com/ipchama/dupligator
go build dupligator.go
Contribuições são bem-vindas.
O DupliGator passou da ideia à conclusão em poucas horas e, portanto, há muitos TODOs, pontos que precisam ser melhorados e recursos que podem ser facilmente adicionados (TLS e opções de autenticação para TCP?)
Ainda não decidi. :)
Este projeto está licenciado sob a licença GPL v3 - consulte o arquivo LICENSE para obter detalhes