ipv6 encontre todos os hosts em um prefixo

6

Usando o comando ping6, você pode encontrar o endereço local do link de hosts ipv6 fora de uma interface usando:

 ping6 -I eth0 ff02::1

Isso vai pingar tudo na sub-rede e assim você pode ver o que está lá fora. Isso pode ser visto em ndp .

É possível pingar tudo em um prefixo para que você possa determinar os endereços unicast de escopo global dos hosts? Note que isso pressupõe que os endereços ipv6 são estaticamente atribuídos, em vez de serem configurados automaticamente a partir de um rad - portanto, não podemos simplesmente resolvê-los a partir de um endereço mac.

Em termos de ipv4, isso seria funcionalmente equivalente a ping -b 192.168.1.0/24

Digamos que nosso prefixo seja 2001:470:1f09:131::/64 , estou procurando uma maneira de fazer algo como:

ping6 -b 2001:470:1f09:131::/64

(Eu sei que -b é tamanho do buffer, isso apenas para ilustração)

Note que este é o OpenBSD que não suporta um endereço IP em -I:

 -I interface
         Source packets with the given interface address.  This flag ap-
         plies if the ping destination is a multicast address, or link-lo-
         cal/site-local unicast address.
    
por Paul 29.10.2012 / 00:15

4 respostas

4

Reunindo os bits da resposta de Celada e o comentário de Bort dá o resultado desejado: Você precisa da opção -I e -S .

Portanto, supondo que a interface de rede vr0 com o endereço IPv6 2001:1418:153:0:2e0:c5ff:fe3f:caef , você precisaria desse comando para fazer seu ping de transmissão:

ping6 -I vr0 -S 2001:1418:153:0:2e0:c5ff:fe3f:caef ff02::1

(Remover o -S resulta em respostas de eco somente dos endereços locais de link; remover os -I resulta em não obter mais nenhuma resposta).

    
por 02.10.2013 / 22:12
2

O argumento -I pode ser um endereço IP, bem como um nome de interface. Parece que, se você especificar um nome de interface, ele usará o endereço local de link nessa interface como o endereço de origem. O truque para obter respostas de hosts provenientes de seus endereços de escopo global é enviar o ping de seu próprio endereço de escopo global:

ping6 -I 2001:db8:xxxx::your:own:ip:address ff02::1
    
por 29.10.2012 / 07:06
0

Tente:

ping6 ff02::1%yournic0

Em que yournic0 é o nome da interface que está em frente do link em questão.

    
por 26.08.2013 / 22:43
0
ping6 -c4 ff02::1%$(ip r|grep default|head -n1|awk '{print $NF}')

-c4 para que não continue para sempre | ff02 :: 1 endereço de broadcast | % (você poderia usar -I para interface)
ip r | grep padrão | awk '{print $ NF}' # encontra a interface padrão

    
por 04.09.2016 / 19:38

Tags