domingo, 1 de fevereiro de 2009
TAIL - Visualizando o final dos arquivos
Nome: tail
Definição: Mostra a última parte dos arquivos. Por padrão imprime as últimas 10 linhas de cada arquivo na saída padrão.
Sintaxe:tail [opções] [arquivos]
Opções:
--retry Tenta intermitentemente acessar o arquivo quando este não está disponível no momento. É normalmente utilizado junto com a opção --follow que significa perseguir por nome.
-c N Exibe na saída padrão os últimos N bytes. Mesmo que --bytes=N.
-F A mesma coisa que --follow=name –retry.
-n N Exibe na saída padrão as últimas N linhas no lugar das 10 últimas. Se utilizado o símbolo de + antes do N exibe a partir da enésima linha ex: tail -n +10 /var/log/syslog exibe a partir da décima linha até o final do arquivo.
--pid=PID Com a opção -f, termina após o processo PID terminar.
-s S Com a opção -f espera por aproximadamente S segundos entre as iterações. O padrão é 1)
-q Não exibe os cabeçalhos com o nome dos arquivos.
-v Sempre exibe os cabeçalhos com os nomes dos arquivos.
Exemplos:
#tail -f -s 3 /var/log/syslog –pid=3342 -v (Exibe em tempo real de 3 em 3 segundos as últimas linhas do arquivo /var/log/syslog inclusive com o nome do arquivo enquanto o processo 3342 estiver executando.
#tail -F $HOME/.xsession-erros /var/log/messages -n 30 (Faz várias tentativas para exibir as últimas 30 linhas dos arquivos '/home/”usuário corrente”/.xsession-erros' e '/var/log/messages' caso estes estejam inacessíveis no momento.
quarta-feira, 14 de janeiro de 2009
PS - Status dos Processos
Nome: ps
Definição: Mostra uma foto dos processos correntes. Ele exibe informações sobre uma seleção de processos ativos. Se necessitar dessas informações em tempo real pode ser utilizado o comando 'top'.
Sintaxe: ps <opções>
Opções:
-a Mostra os processos que rodam em todos os terminais;
-x Mostra os processos que rodam independentes de terminal;
-u Mostra outros dados, inclusive os usuários donos de processos;
-f Adiciona várias colunas de informação sobre os processos
-e Mostra todos os processos;
--user X Exibe apenas processos do usuário X.
Exemplos:
#ps -faex --user root (Exibe todos os processo do usuário root).
#ps fauex (Exibe todos os processos que estão em execução no momento com o máximo de informação possível sobre cada um). Abaixo a definição de cada coluna exibida pelo comando acima:
USER usuário dono do processo.
PID Número ID do processo.
%CPU Percentual de CPU consumido pelo processo.
%MEM Percentual de memória consumida pelo processo.
VSZ Virtual Size. Uso da memória virtual(inclui swap) alocado para o processo.
RSS Resident Set Size. Uso real da memória RAM pelo Processo;
TTY Terminal em uso. Caso o processo não esteja sendo executado em nenhum terminal aparecerá o caractere '?'.
START Data e hora do início da execução do processo.
TIME Tempo de execução desde do seu start.
COMMAND Comando/processo em execução.
STAT Estado de execução do processo. Os processos podem estar em vários estados, são eles:
R Processo em execução.
S Processo em espera.
S O Processo é lider de sessão, ou seja, ele é o processo principal e tem subprocessos atrelados a ele.
D O processo está em espera porque aguarda uma operação de I/O. Este estado não admite interrupção.
T O processo encontra-se parado ou em modo trace (analisando uma ação).
w O processo realizando paginação de memória. (somente p/ver. 2.4 e inferior).
X O processo acaba de morrer.
Z O processo vira “zombie”, morreu mais continua alocando memória.
< Processo rodando alta prioridade.
N O processo está rodando em baixa prioridade.
+ O processo rodando em primeiro plano.
segunda-feira, 12 de janeiro de 2009
TCPDUMP - Com ele você pode muito...
Para um bom administrador de redes linux é impressindível conhecer o comando tcpdump. Com ele é possível fazer dezenas de diagnósticos de rede e descobrir vários problemas, inclusive de cabeamento.
Nome: tcpdump
Definição: Mostra o tráfego de uma rede. Ele exibe a descrição do conteúdo de pacotes numa interface de rede que case com uma expressão booleana.
Sintaxe: tcpdump <opções> <dispositivo> <expressão>
Opções:
-A Imprime cada pacote em código ASCII.
-c Termina a execução após receber “n” pacotes.
-D Exibe a lista das interfaces de rede disponíveis no sistema e que o tcpdump é capaz de capturar pacotes. Esta opção associa um número a cada interface o qual pode ser usado no lugar do nome da mesma, ex: 1 - eth0, 2 – eth1, 3 – any, 4 – lo (loopback);
-i Recebe como parâmetro a interface ou o número associado a ela. Se especificado “any” captura pacotes de todas as interfaces porém, sem ser no modo promíscuo.
-n Não converte endereços em nomes. (endereços de host, número de portas, etc.)
-r Lê os pacotes a partir de um arquivo (que tenha sido criado com a opção -w).
-s Define o tamanho de cada pacote a ser capturado. É interessante utilizar o valor 1500 para que seja examinado o maior tamanho possível de pacote.
-t Não exibe o timestamp em cada linha.
-v Exibe a saída com mais detalhes.
-vv Exibe a saída com mais detalhes ainda.
-vvv Exibe a saída com informações ainda mais detalhadas.
-w Escreve os pacotes em um arquivo que pode ser lido posteriormente com a opção -r.
-x Exibe o conteúdo do pacote no formato hexadecimal.
-X Exibe o conteúdo do pacote nos formatos hexadecimal e ASCII.
expressão Seleciona quais pacotes serão exibidos. Se não for definida nenhuma expressão todos os pacotes serão exibidos. Do contrário somente os pacotes com os quais a expressão coincidir serão exibidos. A expressão consiste em uma ou mais premissas. As premissas usualmente consistem em um ID (nome ou número) precedido por um ou mais qualificadores.Existem três diferentes tipos de qualificadores:
type (tipo) Especifica host, net, port e portrange. Ex: 'host dragon', 'net 192.168', ' port 22', 'portrange 5000-5777'.
dir (direção) Indica a direção dos pacotes a serem capturados. Podem ser: src, dst, src or dst e src e dst, que significam respectivamente origem, destino, origem ou destino e origem e destino. Se nada for definido assume origem ou destino.
proto (protocolo) Define qual o tipo de protocolo será exibido. Os protocolos possíveis são: ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp e udp.
Exemplos:
#tcpdump -n -i eth0 -s 1500 -X host 192.168.0.110 -c 30 (Faz a captura de 30 pacotes do host 192.168.0.110 na interface eth0 sem resolver nomes com tamanho máximo de pacote de 1500 bytes exibindo o conteúdo dos pacotes nos formatos ASCII e Hexadecimal)
#tcpdump -i eth2 -t -vvv -s 1500 -A dst net 192.168 and not host 192.168.0.114 and not port ssh -w log.dump (Analisa o tráfego da interface eth2 e coleta os dados de pacotes com até 1500 bytes referentes à rede de destino 192.168.0.0 exceto o que se refere ao host 192.168.0.114 e a porta 22(ssh) com o máximo de detalhes sem exibir o timestamp e os grava no arquivo log.dump)
