Linux - Verificando e Rastreando Conexões de Rede
Comando ping
Para verificar uma conexão de rede, utiliza-se o comando ping
. Esse comando recebe o nome ou endereço do host que se deseja verificar. Por exemplo, para verificar a conexão com o site ubuntu.com, usa-se:
Isso inicia a exibição contínua de saídas semelhantes a esta:
programicio@Programicio:~$ ping www.ubuntu.com PING www.ubuntu.com (185.125.190.21) 56(84) bytes of data. 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=1 ttl=56 time=67.2 ms 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=2 ttl=56 time=67.0 ms 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=3 ttl=56 time=66.9 ms 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=4 ttl=56 time=66.8 ms 64 bytes from website-content-cache-2.ps5.canonical.com (185.125.190.21): icmp_seq=5 ttl=56 time=67.2 ms
Você pode interromper esse processo usando a combinação de teclas Ctrl+Z.
O comando ping
também aceita várias opções, as principais são:
-c count
: define o número de pacotes a serem enviados.-i seconds
: estabelece o intervalo em segundos entre cada pacote enviado. O valor padrão é de 1 segundo.-f
: envia pacotes o mais rápido possível, mas somente após receber uma resposta.-l
: envia pacotes sem esperar por uma resposta.-t ttl
: define o tempo de vida (TTL - time to live) dos pacotes enviados, indicando o máximo de roteadores que cada pacote pode atravessar antes de ser descartado.-b
: envia pacotes para o endereço de broadcast da rede e solicita uma resposta de cada host conectado autorizado a responder a pacotes de ping.
Por exemplo, para enviar um número limitado de pacotes, você pode usar a opção -c
como mostrado abaixo:
ping -c 3 185.125.190.20
Além de verificar a capacidade de conexão, o comando ping pode ser usado para verificar a latência entre o computador atual e um host específico. Por exemplo:
programicio@Programicio:~$ ping -c 4 www.ubuntu.com PING www.ubuntu.com (185.125.190.20) 56(84) bytes of data. 64 bytes from website-content-cache-1.ps5.canonical.com (185.125.190.20): icmp_seq=1 ttl=51 time=78.3 ms 64 bytes from website-content-cache-1.ps5.canonical.com (185.125.190.20): icmp_seq=2 ttl=51 time=78.2 ms 64 bytes from website-content-cache-1.ps5.canonical.com (185.125.190.20): icmp_seq=3 ttl=51 time=78.0 ms 64 bytes from website-content-cache-1.ps5.canonical.com (185.125.190.20): icmp_seq=4 ttl=51 time=78.0 ms --- www.ubuntu.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 77.974/78.104/78.252/0.118 ms
Para verificar a latência, deve-se observar o parâmetro time no resultado do comando ping
. No exemplo acima, a latência foi de 3004 milissegundos.
Comando tracepath
O comando tracepath
permite determinar a rota dos pacotes enviados. Este comando é útil quando não é possível estabelecer uma conexão com um host remoto, ajudando a identificar em que ponto do trajeto a falha ocorre. É importante notar que esse comando substitui em grande parte outro comando, o traceroute
, que antes era incluído por padrão.
O tracepath
utiliza o valor TTL (Time to Live) dos pacotes UDP enviados. A essência do comando é que, quando o TTL de um pacote atinge 0, o pacote é descartado pelo roteador e uma mensagem é enviada de volta ao remetente. Inicialmente, o tracepath
começa com um TTL de 0, fazendo com que o pacote seja descartado pelo primeiro roteador, identificando assim este roteador inicial.
Em seguida, um pacote é enviado novamente ao destino, mas com TTL de 1, levando ao descarte pelo segundo roteador. Esse processo continua até que o pacote alcance o destino final.
O comando aceita como argumento o nome ou o endereço IP do host. Por exemplo, para traçar a rota até o site ubuntu.com:
programicio@Programicio:~$ tracepath www.ubuntu.com 1?: [LOCALHOST] pmtu 1500 1: _gateway 0.593ms 1: _gateway 0.513ms 2: _gateway 0.580ms pmtu 1480 2: no reply 3: 64.233.165.113 7.608ms 4: 20.112.250.133 50.486ms asymm 5 5: port-channel2.core3.sto1.he.net 45.542ms asymm 4 6: no reply 7: port-channel1.core1.ams1.he.net 66.813ms asymm 6 8: port-channel1.core1.lon6.he.net 73.036ms asymm 7 9: port-channel1.core1.lon6.he.net 72.185ms asymm 7 10: website-content-cache-3.ps5.canonical.com 69.701ms reached Resume: pmtu 1480 hops 10 back 9
Dessa forma, com o tracepath
, é possível visualizar cada roteador pelo qual o pacote passa. Para cada roteador, é exibido seu nome, o endereço IP correspondente e o tempo de resposta para três pacotes enviados a esse roteador.