Como acessar e pingar endereços IPv6
Imagem de Pete Linforth, extraída do Pixabay.

Como acessar e pingar endereços IPv6

O IPv6 já deixou de ser novidade há muito tempo, mas vai continuar na sombra do IPv4 por um longo período. Apesar disso, endereços IPv6 estão acessíveis, nós só não os usamos com frequência.

É bem provável que você nunca tenha pingado ou acessado um endereço IPv6. Se esse for o seu caso, fique tranquilo porque é bem simples e eu vou te mostrar como fazer isso.

Um pouco sobre o formato do endereço IPv6

Antes, deixa eu explicar (ou relembrar) a você um pouco sobre o formato de um endereço IPv6. O endereço, conforme mostrado na figura abaixo, é formado por 8 partes (de 4 dígitos hexadecimais) separadas pelo símbolo de dois pontos. Esse formato permite endereçar um número gigantesco de dispositivos (da ordem de decilhões - o número um seguido de trinta e seis zeros).

Exemplo de um endereço IPv6

Os endereços podem ser abreviados, quando uma ou mais de suas partes são totalmente compostas por números zeros. Portanto, o endereço do exemplo acima pode ser representado como 2001:0db8:3c4d:0012::1234:56ab. Também é possível eliminar zeros a esquerda de uma parte do endereço, assim, o trecho :0012: poderia ser reescrito como :12: apenas.

Se você não sabe o que é IP ou precisa de mais explicações específicas sobre o IPv6, recomendo a visita aos seguintes sites: IPv6.br e Wikipedia.

Agora vamos para prática

Eu vou usar em alguns exemplos o endereço IPv6 do DNS do Google, o equivalente ao endereço 8.8.8.8 na versão IPv4.

Acessando sites pelo IP

Essa é uma tarefa bem simples. Segundo o RFC 2732, endereços IPv6 numa URL devem ser escritos entre colchetes, conforme mostrado na imagem seguinte.

No alt text provided for this image

Se quiser especificar a porta, basta adicionar, no fim do endereço, o símbolo de dois pontos e o número da porta. Por exemplo, caso esteja querendo acessar um serviço na porta 3000, você pode usar http://[2001:0db8:3c4d:0012::1234:56ab]:3000/.

O mesmo se aplica para acessar serviços web rodando na sua própria máquina. O endereço IPv6 equivalente ao 127.0.0.1 (localhost) é o ::1.

No alt text provided for this image

Ping? Pong!

Os sistemas operacionais modernos já vem com diversos utilitários para redes instalados, nós só precisamos saber como usá-los. Para pingar um endereço IPv6 podemos usar o comando ping no terminal, se estivermos usando Windows, ou ping6, se o sistema operacional for Linux ou macOS.

Windows:

O ping tem um parâmetro especial (-6) que podemos passar para indicar que o endereço é do tipo IPv6, conforme mostrado abaixo.

C:\> ping -6 2001:4860:4860::8888

Pinging 2001:4860:4860::8888 with 32 bytes of data:
Reply from 2001:4860:4860::8888: time=65ms
Reply from 2001:4860:4860::8888: time=63ms
Reply from 2001:4860:4860::8888: time=64ms
Reply from 2001:4860:4860::8888: time=63ms

Ping statistics for 2001:4860:4860::8888:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 63ms, Maximum = 65ms, Average = 63ms

Linux/macOS:

O ping6 é um utilitário específico para endereços IPv6, então nenhum parâmetro especial precisa ser passado para indicar o tipo do protocolo, basta informar o endereço no formato correto.

$ ping6 2001:4860:4860::8888
PING6(56=40+8+8 bytes) 2804:14c:da90:51f9:f196:3cab:efa5:ad89 --> 2001:4860:4860::8888
16 bytes from 2001:4860:4860::8888, icmp_seq=0 hlim=50 time=63.529 ms
16 bytes from 2001:4860:4860::8888, icmp_seq=1 hlim=50 time=66.677 ms
16 bytes from 2001:4860:4860::8888, icmp_seq=2 hlim=50 time=61.398 ms
16 bytes from 2001:4860:4860::8888, icmp_seq=3 hlim=50 time=60.851 ms
^C
--- 2001:4860:4860::8888 ping6 statistics ---

4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 60.851/63.114/66.677/2.288 ms

SSH

A conexão via ssh para IPv6 funciona do mesma forma que uma conexão para endereço IPv4, basta passar o endereço no formato correto.

$ ssh 2001:4860:4860::8888
2001:4860:4860::8888's password:

É possível especificar o usuário usando o formato usuario@ip, como por exemplo:

$ ssh jr@2001:4860:4860::8888
jr@2001:4860:4860::8888's password: 

Também podemos especificar a porta:

# Método 1
$ ssh jr@[2001:4860:4860::8888]:1234

# Método 2
$ ssh jr@2001:4860:4860::8888 -p 1234

Conclusão

O futuro promete uma Internet ubíqua, com muitos bilhões de dispositivos conectados, que demandará o uso efetivo do IPv6, logo, vai ser necessário saber como acessar esses endereços para interagir com os dispositivos que estarão ao nosso alcance.

Espero ter ajudado. ;)

Conteúdo claro e objetivo.. 👏 👏

Carlos Herrera

Fullstack Developer | AWS Cloud Practitioner | Python | Javascript | Django

1 a

Publicação simples e clara. Muito obrigado!

Cesar Luis Silva

CTO | CDO | Data Governance | Agile | Data Privacy | Business Analyst

3 a

Grato por compartilhar!

Rafael Pontes

Computer Scientist and Electrical Engineer

4 a

Não sabia que o LinkedIn tinha uma plataforma de publicação de artigos assim estilo medium. É perfeito para textos rápidos e diretos. Escreve mais aí! xD

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos