graças ao Linux, temos acesso a muitas ferramentas que facilitam a administração de rede & diagnósticos. Neste sentido, o comando Linux ping é uma das ferramentas mais úteis para administradores de rede e administradores de sys.
Sua função básica é determinar se uma máquina da rede é acessível ou não. No entanto, neste post, vamos abordar outras capacidades mais avançadas do comando Linux Ping.
Índice
qual a utilização do comando ping?,
o comando ping é uma das ferramentas mais básicas para trabalhar com redes. Seu objetivo é diagnosticar erros de conexão de rede.
desta forma, é possível saber se um nó de rede perdeu conectividade. Por outro lado, também é útil realizar outras tarefas de diagnóstico, como o seguinte:
- medir o tempo que dois nós de rede levam para se comunicar.também seremos capazes de identificar o endereço IP de um host específico. Podemos utilizar este recurso tanto na Internet como numa rede privada.,
- o comando ping pode ser usado num programa bash para efectuar verificações automáticas com nós de rede.permite saber se existe uma ligação com equipamento específico.
Como pode ver, é um comando necessário para a administração de redes e servidores.
como funciona o comando ping?
no Linux, o funcionamento do comando ping é muito simples de explicar. O comando envia uma série de pequenos pacotes para um nó específico.
pode testar este nó usando o endereço IP ou o nome da máquina., Em seguida, depois de enviar o pacote, o comando verifica e mede o tempo que leva para receber uma resposta do nó de destino.
Como você pode esperar, o tempo de resposta pode ser afetado devido a condições como a localização geográfica entre os pontos de conexão ou qualquer parte do hardware usado entre os dois nós.
Por exemplo, em redes privadas com fios, o comando terá melhores tempos do que com uma rede com vários roteadores ou pontes.
no entanto, a informação que o comando irá gerar irá julgar se a rede está em boas ou más condições.,
A sintaxe do comando é a seguinte:
ping
Alguns dos mais úteis e utilizados opções do comando ping são as seguintes:
- -c: Com esta opção, você pode especificar quantos pacotes a enviar.
- – s: esta opção permite-lhe alterar o tamanho por omissão dos pacotes.
- -v: modo descritivo.
- – w: indica um tempo em segundos em que a execução do comando terminará. Não importa quantos pacotes o comando Enviou ou recebeu.
- – I: com esta opção, poderá indicar a interface de rede a usar.,
o nó de destino pode ser especificado por um endereço IP ou um nome de máquina.
posso contactar com um ‘proxy’?
um proxy é um servidor ou aplicação que atua como um intermediário para a conexão entre dois pontos em uma rede. É o homem no meio que faz o pedido diretamente para outro nó.
o problema é que o comando Ping requer uma conexão direta de rede entre os nós.
portanto, o comando Ping geralmente não pode funcionar corretamente se houver um proxy por trás dele.
uma solução possível é que muitos sites oferecem o serviço de comando Ping., Por outro lado, para algumas tarefas do comando ping, é possível usar o comando curl. Além disso, você pode usar um VPN para que ele irá esconder o seu IP.
no entanto, em algumas distribuições Linux, este comando não está instalado por padrão. Primeiro, verifique-o e depois instale-o se não estiver instalado.
Ping IPv6 protocol
normalmente, ao usar o comando Ping, usamos endereços IP com o protocolo IPv4. No entanto, com o advento do protocolo IPv6, é cada vez mais comum notar endereços neste formato.
O kernel Linux suporta o protocolo IPv6 desde a versão 2.,2, então todas as distribuições Linux atualmente o suportam.
a sintaxe básica é a seguinte:
$ ping -6 2001:4860:4860::8888
nas versões antigas, havia o comando ping6. Em versões recentes do Linux, o ping6 já não existe, e sua funcionalidade foi fundida em ping, e funciona da mesma maneira que você viu.
A sintaxe básica é a seguinte:
ping6
Com a opção -c, podemos especificar o número de pacotes a enviar e -i para a interface de rede que você vai usar., Por exemplo:
ping6 2001:4860:4860::8888
Ping uma porta específica
às Vezes queremos saber se uma porta específica em um nó está ativo. No entanto, o comando ping não fornece esta funcionalidade, mas é possível fazê-lo com o comando telnet que é instalado por padrão no Linux.
Para fazer isso, basta usar a seguinte sintaxe:
telnet
telnet google.com 80
desta forma, é possível efectuar o ping a um específico porta de um nó da rede, de forma primitiva.,
Ping com o tempo
embora o comando ping exiba informações úteis, pode ser um pouco simples. No entanto, é possível modificar um pouco a operação do comando, para fazê-lo mostrar a data em que o pacote é enviado.
isto pode tornar a informação agradável aos olhos e pode ser útil para scripts e logs.
esta sintaxe é suficiente para fazê-lo. No entanto, você precisa instalar o pacote ccze.
ping | xargs -n1 -i bash -c 'echo `date +%F\ %T`" {}"' | ccze
Como pode ver, mostra o tempo para cada pacote enviado.,
Ping todas as máquinas numa dada sub-rede
pode enviar um sinal de ping a todas as máquinas numa rede ou sub-rede. Para isso, é suficiente adicionar a opção-b e ping o endereço IP de transmissão de qualquer rede que termina com 255.
Por exemplo:
ping -b -c 4 192.168.1.255
Então, se o destino está inacessível, talvez eles bloqueiam pacotes ICMP enviadas pelo comando ping, ou talvez há um problema de rede ou um problema na tabela de roteamento.
como terminar um ping?,
por padrão, o comando ping no Linux envia continuamente pacotes de teste para máquinas. No entanto, uma vez que a informação está disponível, torna-se necessário terminar a execução do comando ping.
Para fazer isso, basta pressionar as seguintes teclas:
CTRL + C
Desta forma, o comando será imediatamente parar de trabalhar.
fim após uma contagem específica
pode limitar a contagem de pacotes a 10 ou qualquer outra coisa. Quando terminar de enviar os dez pacotes, vai parar.,
ping -c 10
onde é que ping comando localizado no Linux?
Em um Unix-derivada do sistema, como o Linux, os binários são comumente encontrados no caminho:
/usr/bin/
neste diretório, você vai encontrar muitos binários que usamos como comandos no terminal. In other operating systems of the Linux family, it is also possible to place it in the
/usr/sbin/
directory.,
Assim, podemos verificá-lo usando o comando ls:
$ ls /usr/bin | grep ping
nesta imagem, você pode ver que os comandos ping estão localizados no
/usr/bin/
Outra maneira, você pode usar o comando localizar qualquer comando no Linux:
$ which ping
será exibido o seguinte:
/usr/bin/ping
Verificar a latência usando o comando ping
Uma das possibilidades oferecidas pelo comando ping é que você pode medir a conexão o tempo de resposta. Essa é a latência.,
Para medir a latência usando o comando ping, apenas usá-lo e pagar a atenção para a tela de saída:
ping -c 4 ping -c 4 192.168.1.1
Como você pode ver, quatro foram enviados pacotes para o destino com um certo tempo de resposta.
na parte inferior, há uma linha que começa da seguinte forma:
rtt min/avg/max/mdev
o segundo valor após o sinal igual é o valor de latência. Neste caso, o valor é 6.798.,
com a latência, é possível determinar os hospedeiros que têm conectividade inferior ao resto. Desta forma, poderemos tomar as medidas pertinentes.
encontrar o MTU ideal
a MTU (unidade de transmissão máxima) é um valor que expressa estaticamente o tamanho em bytes da maior unidade de dados que pode ser enviada através de uma rede.atualmente, devido a medidas de segurança, cada vez mais redes estão impedindo a MTU de trabalhar. No entanto, a maioria das redes de área local Ethernet usa um 1500 byte MTU.,
Se quiser encontrar o valor MTU ideal usando o comando ping, defina os valores iniciais e diminua até não haver erro. Se o valor for muito alto, vamos obter o seguinte erro:
ping: local error: Message too long
Para fazer isso, use a seguinte sintaxe:
ping -M do -s
Por exemplo:
ping -M do -s 1473 192.168.1.1
neste caso, o valor do tamanho do pacote é muito grande. Por isso vou diminuí-lo. Neste caso, o valor ideal é 1472.,
Se receber outra mensagem, o valor inicial deve ser diminuído um a um até obter o resultado desejado.
Se o valor MTU é conhecido, ele pode ser usado para melhorar o comportamento da rede, especialmente se esta é uma rede grande ou mesmo Metropolitana.
Ping na camada 2 (usando arping)
com o comando ping, seremos capazes de realizar testes sabendo o endereço IP de um nó específico dentro da rede. Isto porque o comando ping funciona na camada 3 do modelo OSI (rede).,
Por outro lado, é possível usar outro comando que é incorporado no Linux como arping. Este comando funciona muito semelhante ao ping, mas funciona na camada 2 do modelo OSI.
A sintaxe do comando é a seguinte:
$ sudo arping
$ sudo arping 192.168.1.1
Você vai obter um resultado como este:
A tela de saída do comando mostra primeiro o tamanho do pacote enviado e, em seguida, o endereço MAC do nó e o tempo de resposta.
Note que este comando não está instalado por padrão no Debian Linux e derivados., Então você tem que instalá-lo, então você pode executá-lo como root.
Ping um nome de máquina
por omissão, o comando ping envia pacotes de testes para o destino usando o endereço IP ou o nome de máquina do Destino. Também deve ser notado que a maioria das implementações de ping no Linux não resolvem DNS em reverso.
por exemplo, se você usar o comando Ping adicionando um endereço IP, ele só irá devolver o endereço IP da Máquina Na saída. Inversamente, se tivermos especificado um hostname, ele irá resolvê-lo e mostrar o IP na saída.,
Verifique a saída do seguinte comando:
$ ping google.com
Ping route (usando traceroute)
O comando ping não mostrar a rota de origem para chegar ao destino.
E isso pode ser bastante útil no caso de a conexão com o host foi perdida porque podemos entender em que ponto a conexão foi perdida.
o comando tracert ou traceroute funciona de uma forma muito semelhante ao comando ping. A vantagem disso é que ele mostra o caminho que o pacote toma, mostrando assim sua rota.,
Como o comando ping vem instalado na maioria das distribuições Linux. A sintaxe básica é a seguinte:
traceroute
dessa forma, podemos ver a rota que os pacotes estão tomando.
execute o comando se o ping falhar
suponha que deseja ser alertado quando o comando ping falhar. Para fazer isso, você precisa incorporar o comando ping em um script bash para definir a condição desejada.,
Por exemplo, este script de shell permite que você verifique se o comando ping falhar:
#! /bin/bashping -c 1 If ; then #Your_command_hereFi
Definir o pacote de ping tamanho
O tamanho padrão de pacotes enviados pelo comando ping para hosts é de 56 bytes. É um valor baixo o suficiente para não afectar o funcionamento da rede.
no entanto, é possível alterá-lo para outro valor. Para fazer isso, basta adicionar a opção-S com o tamanho de pacote desejado.,
Por exemplo:
ping -s hostname/IP
Se você deseja que o tamanho de pacote de 100 bytes, basta utilizar o seguinte comando:
ping -s 100 192.168.1.1
Lembre-se que pode variar ligeiramente a MTU.
desactive o comando ping
Se formos responsáveis pela manutenção de uma rede, podemos querer desactivar as respostas de ping a qualquer momento. Podemos fazê-lo temporariamente ou permanentemente, de acordo com as nossas necessidades.,
Se quisermos desactivá-lo temporariamente, é suficiente usar este comando como utilizador raiz:
$ su$ echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
isto irá desactivar a resposta do comando ping, mas apenas até reiniciar o sistema.
Se você deseja fazê-lo permanentemente, você terá que editar o seguinte arquivo
/etc/sysctl.conf
e adicione a seguinte linha:
$ nano /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1
em Seguida, salve o arquivo e saia., Para aplicar as alterações, use este comando:
$ sysctl -p
isto irá desactivar a resposta do comando ping ou dos pacotes ICMP.
conclusão
neste post, explicamos em detalhe como o comando ping funciona no Linux. Da sua utilidade até a incapacitar. Ping é um dos comandos mais fáceis de usar.
isto faz com que a pessoa responsável pela operação da rede saiba onde o problema está para que possa tomar medidas.
eu espero que você ache o post útil. Continua a voltar.obrigado.,
Fundador da LikeGeeks. Trabalho como administrador de sistemas Linux desde 2010. Sou responsável pela manutenção, segurança e resolução de problemas de Servidores Linux para vários clientes em todo o mundo. Adoro escrever scripts shell e Python para automatizar o meu trabalho.
Deixe uma resposta