E aí galera, beleza?
Estou escrevendo este meu primeiro artigo porque achei
interessante compartilhar uma solução que dei a um
problema que pode ser comum a muitos irmãos
Linuxers.
Como a maioria dos brasileiros que utilizam a internet,
meu acesso a grande rede é via PPP discado (a situação
está difícil, não dá para disponibilizar de R$ 100,00
por mês tendo duas bocas para alimentar :P). O que
acontece é que alguns provedores (principalmente os
gratuitos, apesar da AOL já utilizar deste artifício
há algum tempo) monitoram o nível de atividade de seus
usuários para ver se suas conexões estão ativas ou não,
e, aquelas que não apresentarem um certo nível de
atividade são "graciosamente" terminadas ou tem sua banda
realocada para outros usuários com mais atividade.
Esse artifício não é de todo mal, pois como estes provedores
tem muitos acessos e a banda é cara, esta foi a maneira
encontrada por eles para "otimizar" os acessos para aqueles
que "precisam", tirando daqueles que estão "ociosos".
O que acontece é que o que mais gosto de fazer na internet
é ler textos, que por vez são longos (eu os salvo
posteriormente em disco, mas como a curiosidade é maior e
o texto já está na tela...) e quase sempre após ler um texto
eu tinha a ingrata surpresa de minha conexão ter sido
terminada :(.
Deixando o blá-blá-blá de lado, vamos ao que interessa!
Este script feito em bash scripting realiza um determinado
número de interações (determinado pela
variável
TOT). Cada interação
realiza um determinado número de "pings" (ICMP echos) a um
servidor qualquer, dando um delay entre eles (para que o IDS
do servidor não pense que você está tentando
fazer um flood nele). O código é bem simples e
fácil de entender por quem manja um pouco de
programação e bash. Redirecionei todas as
mensagens (tanto as do STDOUT como do STDERR) para o device
"null", mas você pode redirecioná-las para arquivos de
log se desejar, elas tem que ser redirecionadas para poder
rodar o script em background.
Segue o código fonte, ele pode ser melhorado com certeza
e mais parametrizado, mas da maneira que está funciona muito bem.