Como obter diferentes tipos de ICMP

2

Eu tenho uma tarefa em que passei muito tempo. Eu não sou fluente no Linux, mas consigo gerenciar coisas básicas.

A tarefa é reunir diferentes tipos de pacotes ICMP. Eu posso coletá-los pelo tcpdump (que eu prefiro) ou pelo Wireshark.

Eu posso obter os tipos ICMP de resposta de eco e solicitação de eco usando ping e o tempo excedido usando tracepath ou traceroute. Agora, o que estou tentando obter é inatingível, timestamp ou qualquer outra coisa. Eu preciso de mais dois tipos, mas não sei como produzir.

Eu tentei pingar um host inexistente ou porta errada, e usar o tracepath da mesma maneira, mas não estou recebendo nada.

Alguém pode me avisar ou me dizer quais comandos eu posso usar, e de que maneira, para obter mais dois tipos de pacotes ICMP?

    
por jan kowalski 30.10.2015 / 01:31

2 respostas

2

Você pode gerar algumas das variantes inacessíveis do ICMP com qualificadores para iptables ... -j REJECT em um host de destino separado. (Ou uma VM.) Os possíveis qualificadores são icmp-net-unreachable , icmp-host-unreachable , icmp-port-unreachable , icmp-proto-unreachable , icmp-net-prohibited , icmp-host-prohibited , icmp-admin-prohibited e tcp-reset .

Por exemplo:

iptables -j REJECT --reject-with icmp-admin-prohibited
    
por 30.10.2015 / 01:56
2

icmpush faz o que você precisa.

De man icmpush :

icmpush is a tool that builds ICMP packets fully customized from command line.

It supports the following ICMP error types: Redirect, Source Quench, Time Exceeded, Destination Unreach and Parameter Problem.

And the following ICMP information types: Address Mask Request, Timestamp, Information Request, Echo Request, Router Solicitation and Router Advertisement.

icmpush está licenciado como GPLv2, está disponível para debian (e provavelmente a maioria das outras distribuições), e o código fonte está disponível em link

    
por 30.10.2015 / 04:55