segunda-feira, 2 de agosto de 2010

Um pouco sobre Telnet, SSH e Tunelamento

Telnet é um protocolo de comunicação cliente-servidor nascido em 1969, com a finalidade de permitir a comunicação entre computadores ligados em rede. Por ter sido concebido quando a computação era mais presente em universidades do que em empresas, a segurança não era algo que preocupasse, o que gerou um protocolo inseguro. Já o SSH data da década de 90, quando a preocupação com a integridade da comunicação começava a ganhar força, o que gerou um protocolo que, através do método da criptografia de chave-pública, era capaz de autenticar o computador remoto. Descobrimos assim a grande diferença entre Telnet e SSH. O primeiro não possui criptografia, tornando impossível saber se a "conversa" entre os computadores foi interceptada e/ou adulterada.

Tunelamento é um protocolo que permite o tráfego seguro de dados em uma rede não confiável. Pode ser feito via SSH, permitindo assim o tráfego de dados não-criptografados por um "túnel" criptografado.

Operadores de redirecionamento

Pipe:


Utilizado para redirecionar a saída de um comando bash para a entrada de outro comando bash. É denotado pelo caractere ' | ' (barra) .

Exemplo: Procurar, no arquivo contendo as verdades sobre Chuck Norris, uma em especial.

cat ChuckNorrisFacts | grep universe

O comando acima redireciona a saída do comando cat, que consiste no conteúdo do arquivo ChuckNorrisFacrs, para a entrada do comando grep, que retorna as verdades sobre Chuck Norris que contenham a palavra universe.


"We live in an expanding universe. All of it is trying to get away from Chuck Norris."

Operadores < (menor), >(maior) e >> (append) :

Utilizados para redirecionar tanto entrada quanto saída, já foram citados aqui. .



Vi

O Vi é um editor de texto criado em 1976 para o Unix, estando presente até hoje (em versões melhoradas) em alguns sistemas operacionais, como por exemplo Linux e Minix. Dono de um manuseio muito diferente dos editores atuais (uma vez que não existe uma interface gráfica exibindo todas as opções de edição disponíveis), possui dois modos de operação: o modo de inserção e o modo de comando. Vamos conhecer melhor agora como esta ferramenta funciona.


Ao executarmos o Vi, ele inicia no modo de comando (onde o que for digitado pelo usuário será interpretado como um comando de edição do conteúdo do arquivo), podendo ir ao modo de inserção (onde o que for digitado pelo usuário será interpretado como um acréscimo de texto ao conteúdo do arquivo). Para alternar entre os modos, utilizam-se as teclas 'Esc', que sai do modo de comando para o modo de inserção, e 'i' que sai do modo de inserção e vai para o modo de comando. Agora que sabemos os diferentes modos, para que eles servem e como alternar entre eles, veremos alguns comandos.

Para inicializar o Vi:

vi arquivo Inicializa a edição do arquivo especificado. Caso o arquivo não exista, um novo arquivo é criado.

vi -r arquivo Recupera o arquivo que estava sendo editado caso o sistema "caia".

Para sair do Vi (modo de comando):

:q Sair do Vi.

:q! Sair do Vi sem salvar.

:wq Salvar e sair do Vi.

:x Salvar e sair do Vi.

Comandos delete (modo de comando):

u Desfazer a última alteração feita (undo).

x Deletar caractere.

dd Apagar a linha inteira.

[shift]+d Apagar da posição atual do cursor até o final da linha.

Movendo o cursor:

O vi, ao contrário dos editores de texto atuais, não permite mover o cursos através do mous. A seguir, alguns comandos utilizados para esta finalidade:

j Move o cursor uma linha para baixo. (modo de comando)

k Move o cursor uma linha para cima. (modo de comando)

h Move o cursor um caractere para a esquerda. (modo de comando)

l Move o cursor um caractere para a direita. (modo de comando)

:número Move o cursor para a linha de . (modo de comando)

:$ Move o cursor para última linha do arquivo. (modo de comando)

w Move o cursor para o início da próxima palavra. (modo de comando)

b Move o cursor para o início da palavra anterior. (modo de comando)

[shift]+A Move o cursor para o final da linha atual. (modo de inserção)

[shift]+I Move o cursor para o início da linha atual. (modo de inserção)

Pesquisas no conteúdo (modo de comando):

?texto Procura, do cursor para trás, o texto especificado.

/texto Procura, do cursor para frente, o texto especificado.

%s/textoAntigo/textoNovo Procura por todo o arquivo pelo texto antigo, substituindo as ocorrências pelo novo texto.