Limitando o udp socat para receber um pacote ou timeout

2

Ao testar certas conectividades multicast no passado, tenho usado o socat para fazer isso:

socat -u UDP4-RECVFROM:12345,add-membership=224.1.2.3:eth0,fork,reuseaddr,readbytes=32 SYSTEM:"hexdump -C"

e depois ctrl-c quando vejo alguns pacotes ou depois de um segundo ou dois eu não vejo nada.

Agora, isso obviamente é impraticável ao ter que fazer isso para centenas de endereços multicast, especialmente quando alguns deles enviam dezenas de milhares de pacotes por segundo (a carga é 5.000 mais rápida do que eu poderia atingir ctrl-c).

Como posso limitar socat para receber apenas um pacote e depois sair? Além disso, como posso definir um tempo limite para quando nada foi recebido (eu tentei o parâmetro -T, mas não parece ter nenhum efeito)

    
por PlasmaHH 13.11.2017 / 14:38

0 respostas

Tags