*Na máquina de origem (enviar):<br>
<code>nc servidor_remoto 12345 < arquivo.txt</code>
- Transfere o arquivo `arquivo.txt` de uma máquina para outra, salvando-o como `arquivo_recebido.txt`.
* Testar múltiplas portas em um servidor remoto:
- <code>nc -zv servidor_remoto 20-25</code>
- Testa as portas `20` a `25` no servidor `servidor_remoto` para verificar se estão abertas.
* Escutar em uma porta específica e mostrar uma mensagem de confirmação:
- <code>nc -lv 12345</code>
- Coloca o netcat em modo de escuta na porta `12345` e exibe mensagens detalhadas sobre a conexão.
* Iniciar um chat bidirecional com netcat:
- No servidor A:<br>
<code>nc -l 12345</code><br>
No cliente B:<br>
<code>nc servidor_A 12345</code>
- Inicia uma comunicação bidirecional entre o servidor A e o cliente B, funcionando como um chat.
* Verificar a conectividade via UDP:
- <code>nc -u -zv servidor_remoto 12345</code>
- Testa a conectividade com a porta `12345` no servidor `servidor_remoto` via UDP.
==== Nível Avançado ====
* Criar uma conexão reversa para acesso remoto:
- No cliente (iniciador da conexão):<br>
<code>nc -lvp 4444 -e /bin/bash</code><br>
No servidor (conectando-se ao cliente):<br>
<code>nc cliente_remoto 4444</code>
- Cria uma conexão reversa, onde o servidor obtém um shell na máquina cliente, permitindo execução remota de comandos.
* Escutar em uma porta específica e logar conexões recebidas:
- <code>nc -l 12345 | tee log_conexoes.txt</code>
- Escuta na porta `12345` e grava todas as conexões recebidas no arquivo `log_conexoes.txt`.
* Transferir múltiplos arquivos via tar e netcat:
- No servidor de destino (receber):<br>
<code>nc -l 12345 | tar xvf -</code><br>
Na máquina de origem (enviar):<br>
<code>tar cvf - /diretorio_a_enviar | nc servidor_remoto 12345</code>
- Transfere um diretório inteiro compactado com `tar` via netcat, descompactando diretamente no destino.
* Enviar um arquivo via UDP:
- No servidor de destino (receber):<br>
<code>nc -u -l 12345 > arquivo_recebido.txt</code><br>
Na máquina de origem (enviar):<br>
<code>nc -u servidor_remoto 12345 < arquivo.txt</code>
- Envia o arquivo `arquivo.txt` via UDP para o servidor remoto, salvando-o como `arquivo_recebido.txt`.
* Executar um port scan simples em um servidor:
- <code>nc -zv servidor_remoto 1-65535</code>
- Escaneia todas as portas do servidor `servidor_remoto` (portas de `1` a `65535`) para verificar quais estão abertas.
==== Nível Especializado ====
* Criar um proxy simples com netcat (proxying):
- <code>nc -l 8888 | nc servidor_remoto 80</code>
- Cria um proxy simples que escuta na porta `8888` e redireciona o tráfego para o servidor `servidor_remoto` na porta `80`.
* Criar um servidor HTTP simples com netcat:
- <code>while true; do echo -e “HTTP/1.1 200 OK\r\n\r\nBem vindo ao servidor HTTP” | nc -l 8080; done</code>
- Cria um servidor HTTP simples que responde com uma mensagem de boas-vindas em todas as conexões na porta `8080`.
* Encaminhar portas para outros servidores (Port Forwarding) com netcat:
- <code>nc -l 8080 -c “nc servidor_remoto 80”</code>
- Redireciona o tráfego da porta `8080` local para a porta `80` do `servidor_remoto`.
* Criar um relay TCP usando netcat:
- <code>nc -l 12345 | nc outro_servidor 80</code>
- Cria um relay TCP que recebe conexões na porta `12345` e encaminha as solicitações para outro servidor na porta `80`.
* Manter uma conexão persistente com reconexões automáticas:
- <code>while true; do nc servidor_remoto 12345; sleep 5; done</code>
- Tenta se conectar ao servidor remoto na porta `12345`, e caso a conexão falhe, tenta novamente após 5 segundos.
* Escanear portas específicas via UDP:
- <code>nc -uzv servidor_remoto 53 123 161</code>
- Escaneia as portas `53`, `123`, e `161` no servidor `servidor_remoto` via UDP, verificando se estão abertas.
* Enviar um comando bash remoto via netcat:
- No servidor que receberá o comando:<br>
<code>nc -l -p 4444 -e /bin/bash</code><br>
Na máquina que envia o comando:**<br>