Use o fping para scanear a sua rede

O fping é um utilitário usado para scanear e encontrar as máquinas conectadas e ligadas em uma rede. Semelhante ao ping, usa o protocolo ICMP (Internet Control Message Protocol) para determinar se um host está “de pé” — através de uma requisição echo — ou não.
buscas na rede - fping
Diferente do ping, é possível fornecer vários endereços de hosts em uma só linha de comando ou um arquivo texto, com uma lista de hosts para sondar.
O fping envia um pacote ping para cada host da lista. Os que respondem são marcados na lista como ativos e não são mais checados. Os que não respondem, após um determinado período, são marcados como inalcançáveis.

fping versão 3

A quem já conhece a teoria ou não tem interesse em conhecer, recomendo pular este (ainda que) breve tópico. 😉
Após um longo tempo sem atualizações da versão original – entre 2002 e 2011 – em que, até mesmo, havia propostas de correções e melhorias e sem respostas do mantenedor oficial, David Schweikert assumiu o projeto e tem disponibilizado versões atualizadas do programa, junto com a documentação em seu site – de onde eu sugiro que você faça o seu download.

Por que usar o fping

O ping foi desenvolvido em 1983 por Mike Muuss e é uma ferramenta eficiente para testar quando um host é alcançável ou não, dentro da rede.
O problema com o ping é que ele envia uma requisição echo e fica esperando pela resposta. Imagine ter que testar um segmento da rede com 255 possíveis hosts – sendo que alguns, mesmo online, demoram, pelos mais variados motivos, algum tempo extra para responder ao ping?
Pois bem, o fping resolve isto. Como já vimos, se a resposta demora a chegar, ele segue em frente.

Como instalar o fping

Se você preferir compilar o código fonte, para usar uma versão mais atual ou específica do fping, passe para o próximo tópico.
No final do artigo, há o link para fazer download do aplicativo – para qualquer sistema operacional. Quem usa Debian ou Ubuntu pode instalar o fping com o comando apt-get:

sudo apt-get install fping

Usuários Debian, ainda podem verificar nos backports por uma versão mais atual em relação ao repositório padrão.
No Fedora ou outras distribuições baseadas no Red Hat, use o yum:

yum install fping

Como compilar o código fonte do fping

Baixar e compilar o código fonte pode trazer uma série de vantagens e costuma ser mais fácil do que algumas pessoas imaginam.
Se você optar por este método de instalação, faça o download do código fonte na página http://fping.org/dist/.
Execute os próximos passos, com privilégios administrativos:

./configure 
make
make check
make install
make clean
make distclean

… e pronto!
Se você ainda tiver dúvidas sobre como compilar código fonte no Linux, leia o artigo Como compilar código fonte.
O processo padrão, descrito acima, vai instalar o fping no diretório
/usr/local/sbin/fping.
Você pode usar o comando whereis, para obter esta informação:

whereis fping
fping: /usr/local/sbin/fping

Estar neste diretório, indica que o fping necessitará de privilégios administrativos para ser executado.

Como usar o fping para sondar e scanear a rede

O bom senso diz que devemos tomar alguns cuidados antes de fazer varreduras na rede. Uma vez que os sistemas de segurança podem identificar a atitude como agressiva, convém pedir permissão ao administrador da rede antes de iniciar esta atividade.
Veja um exemplo de aplicação do fping, com resultado:

fping 192.168.1.1
192.168.1.1 is alive

com este exemplo, fica claro que a resposta is alive (“está vivo”) significa que o host está de pé e pôde ser alcançado.
A brincadeira fica mais interessante, quando você fizer a busca baseada em uma lista, que pode ter centenas ou mais endereços IP de máquinas na sua rede. Imagine o arquivo lista_de_ips.txt, com o seguinte conteúdo:

192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5

Nota: Adeque os valores acima à realidade da sua rede.
Feito isto, vamos jogar esta lista pro fping testar cada IP:

fping -a < lista_de_ips.txt

Se tiver privilégios administrativos na sua máquina, use fping -f, assim:

sudo fping -f lista_de_ips.txt

Em um rápido resumo, até aqui:

  • Quando a mensagem retornada vem com a expressão
    is alive — é por que o host foi encontrado e está respondendo;
  • Quando a mensagem contiver expressões como ICMP Host Unreachable from ou is unreachable — é por que ele não foi encontrado ou não está respondendo.

Você pode usar a opção -g para verificar um intervalo grande como todas os 255 possíveis hosts em 192.168.1.*. Veja como:

fping -g 192.168.1.0/24

… e nem demorou tanto.
Para enviar o resultado (restrito aos hosts que foram alcançados) para um arquivo, pode usar o comando grep:

fping -g 192.168.254.0/24 | grep alive > is_alive.txt
cat is_alive.txt

Quando o perímetro, em que você deseja fazer sua busca, não está com o tráfego ICMP bloqueado, é possível encontrar rápido e sem muito esforço todos as máquinas conectadas à rede.

Defina o intervalo de tempo entre os pacotes ping

Você pode usar o parâmetro -i para especificar o intervalo mínimo de tempo entre um pacote ping (em milisegundos) a qualquer alvo:

fping -i 10 -g 192.168.254.0/24

O comando, acima, estabelece o intervalo de 10 milisegundos (ou 0,01 segundo) entre o envio de um pacote e outro, para todos endereços compreendidos no espectro de 192.168.254.0 a 192.168.254.255.
O valor padrão é 25 ms, de acordo com a documentação do programa.

Obtenha um resumo da sondagem do fping na sua rede

Ao adicionar -s à linha de comando, é possível obter um resumo ao final do trabalho do fping, em que ele informa:

  1. targets — alvos objetivados.
  2. alive — alvos ativos.
  3. unreachable — alvos intangíveis, inalcançáveis.
  4. unkown addresses — endereços desconhecidos.
  5. timeouts — tempo de resposta expirado (esperando retorno).
  6. ICMP Echos sentechos ICMP enviados.
  7. ICMP Echo Replies received — respostas em echos ICMP recebidas.
  8. other ICMP received — outros sinais ICMP recebidos.
  9. (elapsed real time) — tempo de execução real.

Veja um exemplo de relatório resumido:

fping -g 192.168.254.0/24 -s
192.168.254.1 is alive
192.168.254.2 is alive
192.168.254.3 is alive
192.168.254.7 is alive
ICMP Host Unreachable from 192.168.254.3 for ICMP Echo sent to 192.168.254.4
ICMP Host Unreachable from 192.168.254.3 for ICMP Echo sent to 192.168.254.5
ICMP Host Unreachable from 192.168.254.3 for ICMP Echo sent to 192.168.254.6
ICMP Host Unreachable from 192.168.254.3 for ICMP Echo sent to 192.168.254.8
ICMP Host Unreachable from 192.168.254.3 for ICMP Echo sent to 192.168.254.9
ICMP Host Unreachable from 192.168.254.3 for ICMP Echo sent to 192.168.254.10
ICMP Host Unreachable from 192.168.254.3 for ICMP Echo sent to 192.168.254.11
ICMP Host Unreachable from 192.168.254.3 for ICMP Echo sent to 192.168.254.12

     (...)

     254 targets
       5 alive
     249 unreachable
       0 unknown addresses

     249 timeouts (waiting for response)
    1001 ICMP Echos sent
       5 ICMP Echo Replies received
     942 other ICMP received

 0.10 ms (min round trip time)
 50.3 ms (avg round trip time)
 131 ms (max round trip time)
       26.827 sec (elapsed real time)

Como filtrar resultados do fping

Além do comando grep (veja os links ao final), é possível resumir bastante o relatório de saída.
Para obter apenas o relatório resumido, visto anteriormente, acrescente a opção -q:

fping -g 192.168.254.0/24 -s -q

Limite a quantidade de tentativas

O fping faz 3 tentativas para alcançar os alvos definidos, como comportamento padrão.
É possível aumentar ou diminuir este valor, de acordo com a sua conveniência. Veja como definir o número de tentativas para 5:

fping -r 5 -g 192.168.254.0/24

Se você acha que não precisa haver outras tentativas e prefere obter um resultado mais rápido da sondagem, use o valor -r 1.
Você pode encontrar muito mais informações sobre possibilidades de utilização no manual do comando. Recomendo a sua leitura, daqui pra frente.
Que suas buscas sejam frutíferas! 😉

Fontes:

Debian Edu — uma solução educacional completa

Como o próprio nome sugere, trata-se de um sistema operacional Debian GNU/Linux completo com aplicativos voltados pro ambiente educacional.
A palavra completo, aqui, significa que, a partir de seus diversos perfis, é possível instalar servidores, estações de trabalho e laptops que funcionam integrados dentro do ambiente de rede escolar.
Com o Debian Edu, os próprios professores ou o pessoal do suporte podem preparar e instalar um ambiente educacional multiusuário em múltiplas máquinas em questão de horas ou dias – o sistema chega a centenas de aplicações pré-instaladas e milhares de outras disponíveis em pacotes prontos para serem baixados e instalados a partir dos repositórios Debian.
A versão analisada aqui é a Debian Edu 7.1+edu0 “Wheezy”, baseada no sistema operacional Debian 7 “Wheezy” Stable, atualizada e cuidadosamente aprimorada, comparada à versão anterior – e continua com os mesmos recursos e facilidade de manutenção.

O que tem sido dito sobre a Debian Edu

  • Giorgio Pioda, administrador de sistemas, que tem usado o Debian Edu na SPSE (Scuola per Sportivi d’Élite) em Tenero, Suíça: “Posso dizer que estou com o Debian Edu Wheezy instalado em ambiente de produção desde meados de Agosto e ele está funcionando perfeitamente. Está sendo usado todos os dias”.
  • Nigel Barker, Coordenador de TI na Hiroshima International School, Japão: “Eu consegui deixar um Tjener e um laboratório de computação em funcionamento, para o início das aulas, em apenas 4 dias após o lançamento da versão beta 1. Estou muito satisfeito com o rumo das coisas desde o primeiro mês de aula.”
  • Segundo Lucas Nussbaum, Líder do Debian Project: “o Debian Edu é um projeto fantástico por, pelo menos, duas razões. Uma, por que expõe um público – especificamente crianças – ao Software livre e ao Debian. Segundo, por que demonstra como é possível montar uma distribuição bem sucedida a partir do Debian e de dentro do Debian”

Sobre o Debian Edu e o Skolelinux

Debian Wheezy - Skolelinux
Logo do Skolelinux – Debian.

O Debian Edu – também conhecido como Skolelinux – é uma distribuição baseada no Debian, que provê um ambiente de rede escolar completamente configurado e pronto para usar.

Imediatamente após a instalação de um servidor na escola, rodando todos os serviços necessários a uma rede escolar, o sistema já estará pronto para que usuários e máquinas sejam adicionados via GOsa² – uma interface web confortável.
Um ambiente de inicialização via rede é preparado com o PXE, de forma que, após a primeira instalação do servidor principal com um CD ou pendrive, todo o restante do parque de máquinas pode ser instalado via rede local.
O servidor escolar oferece um banco de dados LDAP e serviço de autenticação Kerberos, centralização dos diretórios pessoais, um servidor DHCP, um proxy web e muitos outros serviços.
O desktop  é instalado com mais de 60 pacotes de softwares educativos e muitos outros podem ser adicionados do arquivo Debian. Além disto, as escolas podem escolher entre os ambientes KDE Plasma, GNOME, LXDE e Xfce.

Mais informações

Você pode obter mais informações e baixar o manual aqui.
E você pode fazer o download do CD netinstall multi arquiteturas (655 MiB) nos seguintes links:

Aqui você pode encontrar a versão para gravar no pendrive, voltada para múltiplas arquiteturas: