Netcat - Mini introdução para leigos
Esse mini artigo tratará, de forma simples, das opções de uso do Netcat para principiantes.
Mini introdução ao Netcat para leigos
Salve, salve turma do VOL!
Bom, nessa simples abordagem, estarei falando sobre o Netcat para leigos.
Vamos ao que interessa.
Para quem não sabe, o Netcat é uma aplicação de terminal que é semelhante ao programa de Telnet, mas, tem muito mais recursos.
É uma versão "power" do programa Telnet tradicional. Além de funções básicas de Telnet, pode-se fazer várias outras coisas, como a criação de servidores de socket para escutar as conexões de entrada nas portas, transferir arquivos pelo terminal e etc.
Por isso, é chamado de "canivete suíço para TCP/IP", possui várias opções e você pode escolher para fazer determinados serviços de sua preferência.
Netcat é um serviço de rede de computadores para leitura e gravação de rede, usando conexões TCP ou UDP. Netcat é projetado para ser um dispositivo confiável, que pode ser usado diretamente, ou facilmente, conduzido por outros programas e scripts.
Ao mesmo tempo, é rico em ferramentas de depuração e investigação, uma vez que pode produzir quase qualquer tipo de correlação que você precisa e tem uma série de recursos internos.
Olhe o seguinte exemplo:
nc -v google.com 80
Agora, o Netcat está ligado ao Google.com na porta 80, e é hora de enviar alguma mensagem. Vamos tentar buscar a página do índice.
Digite: GET index.html HTTP/1.1
E pressione a tecla Enter duas vezes.
Exemplo:
nc -v www.vivaolinux.com.br 80
nc -l -v 1234
O comando acima, pede para o Netcat ouvir a porta TCP 1234.
A opção -v, dá a saída detalhada para melhor compreensão. Agora, de outro terminal, tentar se conectar à porta 1234, usando o comando telnet da seguinte forma:
telnet localhost 1234
nc -l -v 5555
nc -v -ul 7000
Conecte-se a este servidor, usando Netcat de outro terminal:
nc localhost -u 7000
Agora, ambos os terminais podem conversar entre si:
netstat | grep 7000
Chega de conversa e vamos ao que interessa.
Netcat também pode ser usado para port scanning. No entanto, este não é um uso adequado do Netcat e uma ferramenta mais aplicável como Nmap deve ser usada.
nc -v -n -z -w 1 192.168.2.9 75-85
Server2:
nc -lp 1234 > vivaolinux.tar.gz
No Server1, execute:
nc -w 1 server2.exemplo.com 1234 < vivaolinux.tar.gz
Para iniciar a transferência do arquivo.
Server2:
nc -lp 1234
O Server2, então, espera até Server1 conectar na porta 1234:
No Server1, execute:
nc server2.exemplo.com 1234
Agora, você pode digitar mensagens em qualquer sistema e pressione Enter, que elas vão aparecer no outro sistema. Para fechar o bate-papo, pressione Ctrl+c em qualquer sistema.
Estou estudando muito e não tenho muito tempo, estou cansado e é só isso que eu consigo produzir.
Até mais, Nerds viciados por um bom café e GNU/Linux. (ahsuhaus)
Bom, nessa simples abordagem, estarei falando sobre o Netcat para leigos.
Vamos ao que interessa.
Para quem não sabe, o Netcat é uma aplicação de terminal que é semelhante ao programa de Telnet, mas, tem muito mais recursos.
É uma versão "power" do programa Telnet tradicional. Além de funções básicas de Telnet, pode-se fazer várias outras coisas, como a criação de servidores de socket para escutar as conexões de entrada nas portas, transferir arquivos pelo terminal e etc.
Por isso, é chamado de "canivete suíço para TCP/IP", possui várias opções e você pode escolher para fazer determinados serviços de sua preferência.
Netcat é um serviço de rede de computadores para leitura e gravação de rede, usando conexões TCP ou UDP. Netcat é projetado para ser um dispositivo confiável, que pode ser usado diretamente, ou facilmente, conduzido por outros programas e scripts.
Ao mesmo tempo, é rico em ferramentas de depuração e investigação, uma vez que pode produzir quase qualquer tipo de correlação que você precisa e tem uma série de recursos internos.
Conceito de Telnet
A primeira coisa que o Netcat pode fazer, é ser utilizado como um programa de Telnet.Olhe o seguinte exemplo:
nc -v google.com 80
Agora, o Netcat está ligado ao Google.com na porta 80, e é hora de enviar alguma mensagem. Vamos tentar buscar a página do índice.
Digite: GET index.html HTTP/1.1
E pressione a tecla Enter duas vezes.
Exemplo:
nc -v www.vivaolinux.com.br 80
Connection to www.vivaolinux.com.br 80 port [tcp/http] succeeded!
GET index.html HTTP/1.1
HTTP/1.0 400 Bad Request
Date: Sat, 01 Mar 2014 13:08:03 GMT
Server: Apache
Vary: Accept-Encoding
Content-Length: 226
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>
A saída do vivaolinux.com.br foi recebida e repetiu no terminal.
Conceito de tomada simples
Para abrir um tipo de servidor de socket simples, utilize o comando a seguir:nc -l -v 1234
O comando acima, pede para o Netcat ouvir a porta TCP 1234.
A opção -v, dá a saída detalhada para melhor compreensão. Agora, de outro terminal, tentar se conectar à porta 1234, usando o comando telnet da seguinte forma:
telnet localhost 1234
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. linux Hey volApós a ligação, enviamos alguns mensagens de teste, como "linux" e "hey vol", para o servidor de socket Netcat. O servidor ecoará os dados recebidos do cliente telnet.
nc -l -v 5555
Conexão da porta 127.0.0.1 5555 [tcp / rplay] aceita linux Hey volEste é um completo sistema de chat. Digite algo no terminal e ele vai aparecer no terminal de telnet também. Portanto, esta técnica pode ser usada para bater papo entre duas máquinas.
Portas UDP
Netcat funciona com as portas UDP também, para iniciar um servidor Netcat usando portas UDP, usa-se a opção -u:nc -v -ul 7000
Conecte-se a este servidor, usando Netcat de outro terminal:
nc localhost -u 7000
Agora, ambos os terminais podem conversar entre si:
netstat | grep 7000
udp 0 0 localhost:42634 localhost:7000 EstabelecidaAgora, vamos falar, de nada mais nada menos, que sobre port scanning, que é uma das minhas opções preferidas de uso do Netcat. Se eu não estiver enganado, existe até um script aqui no VOL feito em Shell Script para auxiliar o uso do Nmap com Netcat juntos.
Chega de conversa e vamos ao que interessa.
Netcat também pode ser usado para port scanning. No entanto, este não é um uso adequado do Netcat e uma ferramenta mais aplicável como Nmap deve ser usada.
nc -v -n -z -w 1 192.168.2.9 75-85
nc: connect to 192.168.2.9 port 75 (tcp) timed out: Operation now in progress nc: connect to 192.168.2.9 port 76 (tcp) timed out: Operation now in progress nc: connect to 192.168.2.9 port 77 (tcp) timed out: Operation now in progress nc: connect to 192.168.2.9 port 78 (tcp) timed out: Operation now in progress nc: connect to 192.168.2.9 port 79 (tcp) timed out: Operation now in progress Connection to 192.168.2.9 80 port [tcp/*] succeeded! nc: connect to 192.168.2.9 port 81 (tcp) timed out: Operation now in progress nc: connect to 192.168.2.9 port 82 (tcp) timed out: Operation now in progress nc: connect to 192.168.2.9 port 83 (tcp) timed out: Operation now in progress nc: connect to 192.168.2.9 port 84 (tcp) timed out: Operation now in progress nc: connect to 192.168.2.9 port 85 (tcp) timed out: Operation now in progressOnde:
- O parâmetro -n, impede a pesquisa de DNS;
- -z faz com que o Netcat não receba quaisquer dados do servidor;
- E -w 1, faz com que o tempo limite de conexão depois de 1 segundo, fique na inatividade.
Copiar um arquivo de um sistema para o outro
Digamos que deseja-se copiar o arquivo vivaolinux.tar.gz a partir do Server1 para o Server2. Para fazer isso, execute o seguinte comando no exemplo abaixo:Server2:
nc -lp 1234 > vivaolinux.tar.gz
No Server1, execute:
nc -w 1 server2.exemplo.com 1234 < vivaolinux.tar.gz
Para iniciar a transferência do arquivo.
Chat com o Netcat
Você pode usar o Netcat para conversar de um sistema com outro, ambos na linha de comando:Server2:
nc -lp 1234
O Server2, então, espera até Server1 conectar na porta 1234:
No Server1, execute:
nc server2.exemplo.com 1234
Agora, você pode digitar mensagens em qualquer sistema e pressione Enter, que elas vão aparecer no outro sistema. Para fechar o bate-papo, pressione Ctrl+c em qualquer sistema.
Finalizando
Bom, é só isso pessoal.Estou estudando muito e não tenho muito tempo, estou cansado e é só isso que eu consigo produzir.
Até mais, Nerds viciados por um bom café e GNU/Linux. (ahsuhaus)
Vou usar o netcat de agora em diante.
:D
Fui procurar e descobri que tem 3 variantes principais, a GNU, a BSD e a do pessoal do Nmap. Vi que a versão do pessoal do Nmap tinha mais recursos e estou usando ela. Mas responde aí, que variação tu usa?