No Wireshark, você pode usar o plugin MATE para obter essa funcionalidade. Acabei de testar com a versão mais recente (1.6.0) e ela está incluída no pacote de instalação padrão.
Primeiro, crie um arquivo de texto para abrigar a seguinte configuração para o MATE:
Pdu ping_pdu Proto icmp Transport ip {
Extract addr From ip.addr;
Extract icmp_type From icmp.type;
Extract icmp_seq From icmp.seq;
};
Gop ping_pair On ping_pdu Match (addr, addr, icmp_seq) {
Start (icmp_type=8);
Stop (icmp_type=0);
};
Dentro do Wireshark, vá para as Preferências e encontre MATE na lista de protocolos. Tem um parâmetro de configuração, que é o local do arquivo de configuração. Aponte para onde você salvou o arquivo que você criou com o conteúdo acima.
Neste ponto, você pode reiniciar o Wireshark e certificar-se de que o MATE analisa a configuração corretamente.
Agora você pode abrir uma captura e todas as solicitações e respostas de ping devem ter um pouco de dados extras intitulados "MATE" no painel de detalhes. Cada "ping_pdu" é agrupado com sua contraparte como "ping_pair".
Agora, aplique o seguinte filtro:
mate.ping_pair.NumOfPdus==1
Isto irá destacar os "ping_pairs" que têm apenas 1 membro (ou seja, um pedido sem resposta).