De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 16 de janeiro de 2026
O socat (SOcket CAT) é frequentemente chamado de "Netcat com esteroides". Enquanto o Netcat (nc) é a "faca de cozinha" simples e eficiente para redes, o socat é um processador de alimentos industrial: ele faz tudo o que o Netcat faz, mas lida com protocolos e fluxos de dados muito mais complexos.
A ideia central do socat é estabelecer um fluxo de dados bidirecional entre dois endereços (que podem ser arquivos, sockets de rede, portas seriais, ou comandos).
| Recurso | Netcat (nc) |
Socat |
|---|---|---|
| Complexidade | Simples e direto. | Curva de aprendizado maior. |
| Protocolos | TCP e UDP. | TCP, UDP, SSL/TLS, IPv6, Unix Sockets, Tun/Tap, Portas Seriais. |
| Multiconexão | Geralmente encerra após uma conexão. | Suporta o modo fork para aceitar múltiplas conexões. |
| Manipulação | Básica. | Avançada (permite mudar permissões, usuários e tratar sinais). |
| Segurança | Tráfego em texto puro (na maioria das versões). | Suporte nativo a criptografia SSL/TLS. |
stunnel.
-d -d) extremamente detalhadas.
nc.
1. O básico (Simulando Netcat)
Conectar a um servidor web na porta 80 e enviar dados pelo terminal:
# socat - TCP4:www.google.com:80
(O - representa a entrada padrão/STDIO).
2. Redirecionamento de Porta (Port Forwarding)
Receber tráfego na porta 8080 local e mandar para a porta 80 de outro servidor:
TCP4-LISTEN:8080,fork TCP4:192.168.1.50:80
O parâmetro fork permite que o socat continue ouvindo novos clientes sem fechar.
3. Transferência de Arquivos
No receptor (esperando o arquivo):
-u TCP4-LISTEN:9999,reuseaddr OPEN:arquivo_recebido.txt,creat
No emissor (enviando o arquivo):
-u FILE:arquivo_origem.txt TCP4:192.168.1.10:9999
4. Criando um Túnel SSL Seguro
Lado servidor (escutando com certificado):
SSL-LISTEN:4443,reuseaddr,cert=server.pem,verify=0 STDIO
5. Acesso a Porta Serial via Rede
Compartilhar um dispositivo serial (como um Arduino em /dev/ttyUSB0) pela rede:
TCP4-LISTEN:2000,fork /dev/ttyUSB0,raw,echo=0,b115200
O socat é a ferramenta definitiva quando o netcat não é suficiente, especialmente em tarefas de depuração de sistemas embarcados ou criação de túneis complexos.
Para saber mais sobre o comando socat recomendo assistir o vídeo "Comandos Essenciais para Administração de Servidores Linux: socat".