Exemplos de uso do comando ping

Segundo o Wikipédia ping é …

Ping ou latência como podemos chamar, é um utilitário que usa o protocolo ICMP para testar a conectividade entre equipamentos. É um comando disponível praticamente em todos os sistemas operacionais. Seu funcionamento consiste no envio de pacotes para o equipamento de destino e na “escuta” das respostas. Se o equipamento de destino estiver ativo, uma “resposta” (o “pong”, uma analogia ao famoso jogo de ping-pong) é devolvida ao computador solicitante. ”

Sabendo dessa teoria agora vamos a alguns exemplos:

Exemplo 1: Aumentar ou diminuir o intervalo de tempo entre os pacotes enviados. O ping abaixo esperará cinco segundos antes de enviar o próximo pacote:

E para diminuir o intervalo de tempo:

Exemplo 2: Verificar se a interface está ativa. Por exemplo:

Quando obtiver um tempo de resposta é por que a interface está comunicando, caso contrário irá exibir alguma mensagem de erro:

Exemplo 3: Envie N pacotes e pare. No Linux e outras espécies Unix, o comando ping não termina até que você pressione Ctrl + C, para enviar um certo número de pacotes usamos o argumento -c. Vamos testar enviando 2 pacotes:

Exemplo 4: ping com áudio, envia um beep a cada ping com sucesso

Exemplo 5: “Inundar” a rede. Dísponivel somente para superusuários, envia cem ou mais pacotes por segundo, imprimindo um ponto por cada pacote enviado e um espaço quando recebido.

Exemplo 6: Encontrar o endereço IP de um domínio. Quando um ping é disparado em um nome domínio, antes do envio dos pacotes o comando escreve a saída padrão entre parênteses, depois do nome de domínio, o IP do mesmo.

Exemplo 7: Mostrar apenas as estatísticas do comando. No final do comando é mostrado estatísticas como quantidade de pacotes transmitidos, recebidos, porcentagem de pacotes perdidos e tempo. Se queremos ver somente as estatísticas sem observar cada linha de pacote enviado podemos utilizar a opção -q (quiet).

Exemplo 8: Modificar o tamanho do pacote. Por padrão o tamanho do pacote do ping fica entre 56 a 100 bytes. Se utiliza o tamanho do pacote 100, verá ‘128 bytes’, isto se deve a que 28 bytes é o tamanho do cabeçalho do ping.

Exemplo 9: Especificar o tempo. O parâmetro -w especifica o tempo limite para terminar o ping. Por exemplo -w 5, o comando ping terminará após os cinco segundos, independentemente quantos pacotes foram enviados e recebidos.

Exemplo 10: Ping online. Existem páginas como Ping.eu que nos permitem realizar um ping de diferentes localizações para nosso servidor.

Exemplo 11: Estatísticas parciais sem sair. Ao invez de apertar Ctrl+C para terminar (SIGQUIT) o comando ping, podemos utilizar Ctrl+I para mostrar estatísticas parciais e continuar o envio de pacotes.

Bloquear resposta ao ping com sysctl

A dica de hoje é super rápida e prática, para bloquear as respostas de ping podemos usar o comando sysctl:

Para bloquear:

Para desbloquear:

 

Verificar máquinas ligadas com shell script

Estava interessado em criar uma forma de scannear a rede para saber quantos micros estavam conectados a ela, saber nome, grupo, MAC ADDRESS.

Para que o script funcione será preciso instalar alguns softwares:

dialog:

# apt-get install dialog

nmap:

# apt-get install nmap

Copie o código e cole em um arquivo texto e salve com um nome de sua preferência, de permissão para executar (chmod +x nome_do_arquivo.sh) e em seguida execute-o (./nome_do_arquivo.sh):

## FIM ##

Fonte: http://www.vivaolinux.com.br/dica/Ipscan-com-shell-script+dialog+nmap

Esconder versão dos serviços de rede

Escondendo a versão dos serviços que estão rodando em seu servidor para aumentar a segurança Pessoal.

Importante para a segurança de um servidor é esconder a versão de seus serviços para que o invasor não fique procurando uma falha de segurança para aquela versão específica do daemon.

Então vamos ocultar alguns serviços mais utilizados:

Proftpd
=======
Basta adicionar a seguinte linha no proftpd.conf:

ServerIdent on “”

A linha acima informa a versão do serviço como sendo “”, isso quer dizer que será em branco.

Para validar é necessário reiniciar o Proftpd.

SSH
===
Já esse é necessário baixar o fonte do site oficial www.openssh.com/ e compilar : D

Após descompactar, terá um arquivo chamado version.h. Altere o conteúdo da seguinte linha:

#define SSH_VERSION “”

Depois é só compilar normalmente com ./configure, make e make install.

Obs.: O ssh escuta por padrão na porta 22. É altamente recomendável alterar essa porta para qualquer outra porta.

Apache
======
O Apache, assim como o Proftpd, basta apenas acrescentar uma opção em seu conf conforme a linha baixo:

ServerTokens Prod
=================

Necessário reiniciar o serviço também.

Para testar se as versões dos daemons estão ocultadas, use o nmap para verificar conforme o exemplo:

# nmap localhost -sV

Starting nmap 3.75 ( http://www.insecure.org/nmap/ ) at 2008-03-05 09:46 BRT
Interesting ports on localhost (127.0.0.1):
(The 1658 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
21/tcp open ftp?
8080/tcp open http Apache httpd
Nmap run completed — 1 IP address (1 host up) scanned in 100.332 seconds

Porque o ssh não apareceu quando utilizados o nmap para varrer as portas da máquina?

Porque foi alterada para uma porta que não está na lista que o nmap utiliza que está em /usr/share/nmap/nmap-services.

Alguns outros programas identificam o tipo de serviço em qualquer porta que seja, mas não saberá a versão do serviço. Um outro programa que pode ser usado é o Nessus para esse tipo de verificação.