terça-feira, 9 de novembro de 2010

MSN-Proxy

O msn-proxy é um proxy transparente para clientes MSN Mensenger que permite que você controle e monitore o uso do Messenger em sua rede. Possui as seguintes características:

  • Suporte ao novo protocolo P2P
  • Suporte a acls: “*mycompany@hotma*”
  • Suporte a listas de permissões através de ACLs
  • Suporte a envio de mensagens de controle
  • Suporte a remover/adicionar usuários
  • Suporte a procura por logs de usuários
  • Suporte a remoção de logs de usuários
  • Sistema de visualização de logs de usuários
  • Suporte Messenger 9
  • Monitor em tempo real
Link com how to para instalação: AQUI

GLPI

Software opensource para gerenciamento de serviços de TI com sistema helpdesk.

Roda em Linux. Usa Mysql e php5.

segunda-feira, 27 de setembro de 2010

Buscando e apagando arquivos e diretórios vazios

Buscar arquivos e diretórios vazios e apagar:

$find . -empty -exec rm -ri {} \;


Buscar arquivos vazios e apagar:

$find . -empty -type f -exec rm -ri {} \;


Buscar diretórios vazios e apagar:

$find . -empty -type d -exec rm -ri {} \;

segunda-feira, 26 de julho de 2010

histórico do bash entre múltiplas sessões

Para fazer com que a shell bash acrescente imediatamente, ao arquivo do histórico, os comandos executados em todas as sessões especificamos no arquivo .bashrc, a seguinte diretiva:

history -a

terça-feira, 11 de maio de 2010

Histórico de comandos - OpenBSD

O OpenBSD vem com o histórico de comandos desabilitado por padrão, para habilitar é só fazer o seguinte:

Editar o arquivo ~/.profile e adicionar:

export HISTFILE=~/.history

Fazer logoff e logar novamente.


domingo, 9 de maio de 2010

Identificando o SO através do PING

Com o comando ping podemos identificar o Sistema Operacional utilizado.

O comando ping trabalha com o protocolo ICMP enviando mensagens. Quando uma maquina de destino recebe um Echo Request ela retorna um Echo Reply.

Para descobrir qual Sistema Operacional está sendo utilizado vamos usar o TTL (Time to Live). Este valor indica quanto tempo o pacote vai ficar circulando antes de ser descartado.

Cada Sistema Operacional trabalha com um TTL padrão e desta forma podemos identificar o tipo de sistema.

Exemplo1.

$ ping 127.0.0.1
PING 127.0.0.1 bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.029 ms

Exemplo2.

$ ping 127.0.0.1
PING 127.0.0.1 bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=128 time=0.176 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=128 time=0.183 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=128 time=0.189 ms

Representamos na tabela abaixo o valor padrão do TTL para alguns sistemas operacionais:


Sistema TTL
UNIX 255
Linux 64
Windows 128

Com estes números já podemos determinar o Sistema Operacional dos exemplos acima. No caso do Exemplo1 o ttl=64 nos diz que o sistema utilizado é Linux, e para o Exemplo2 podemos dizer que o sistema usado é Windows.

Os roteadores estão programados para decrementar o TTL a cada pacote que passa por ele. Se uma maquina Windows for "pingada" e o valor TTL for 126 significa que antes de chegar ao destino existem 2 roteadores.

quarta-feira, 5 de maio de 2010

DNS Forward

Como fazer com que seu servidor de DNS faça forward para outro servidor através de uma VPN:

A situação foi baseada numa VPN entre links da VIVO 3G e da NET Cabo, onde a resolução de nomes foi repassada para o servidor de DNS do outro lado da VPN, ou seja, o tráfego de DNS passaria pela VPN como se fosse tráfego de rede local.

1 - A VPN era entre as seguintes redes 10.2.129.0/24 e 10.2.132.0/24, o servidor de nomes fica na primeira rede, e o seu IP é 10.2.129.252. O servidor DNS da rede 10.2.132.0/24 é o 10.2.132.254 e ele fará forward para o servidor 10.2.129.252;

2 - Configuração do servidor 10.2.129.252:

acl clients {
localnets;
::1;
10.2.131.0/24;
10.2.132.0/24;
};

3 - Configuração do servidor 10.2.132.254:

options {
version ""; // remove this to allow version queries

listen-on { any; };
listen-on-v6 { any; };

empty-zones-enable yes;

allow-recursion { clients; };

query-source address 10.2.132.254;
forward only;
forwarders { 10.2.129.252; 10.2.129.253; };
};

segunda-feira, 26 de abril de 2010

Os comandos pgrep e pkill

Quem é usuário antigo de sistemas Unix e derivados, provavelmente já gastou os dedos digitando coisas como:

  ps -ef | grep rubens 

Mas como tudo no mundo do software livre, em que a ordem é simplificar e economizar tempo, veio alguém e criou os comandospgrep e pkill.

Como o nome mesmo indica, pgrep significa process grep, que na verdade é o comando anterior aglutinado em apenas um. Por exemplo, eu quero descobrir os PID (process id) de todos os programas do usuário rubens associados ao Firefox:

  pgrep -u rubens  firefox   9397 

Se eu quiser matar algum processo, eu posso fazê-lo de forma genérica, eliminando todos os processos, de todos os usuários, ou posso também atuar de forma seletiva:

  pkill firefox 

ou

  pkill -u rubens firefox 

Além de terminar processos, eu posso usar o comando pgrep em combinação com outros. A documentação do programa dá um exemplo interessante, em que o comando pgrep é usado para redefinir a prioridade de um programa:

  renice +4 `pgrep netscape` 

O programa netscape irá rodar exigindo menos recursos da máquina, sendo mais nice :-)

Existem diversas possibilidades, mas as mais comuns e úteis são mesmo as que foram apresentadas. Uma outra diretiva bastante útil, é a diretiva "-l", que faz com que o nome completo do processo seja listado juntamente com sua identificação:

  $ pgrep -l ssh   1407 ssh-agent   2204 sshd   8162 ssh 

Os programas pgrep e pkill fazem parte do pacote procps e podem ser instalados, em sistemas Debian e derivados, com o comando:

  apt-get install procps