ncat¶
O que é¶
ncat é o netcat do projeto Nmap, com recursos extras para diagnóstico avançado: TLS, proxy, IPv6 e modo broker/chat.
Para que serve¶
- Testar portas TCP/UDP como no
nc, mas com melhor suporte corporativo. - Validar handshake TLS sem depender de cliente HTTP completo.
- Testar acesso via proxy HTTP/SOCKS.
- Automatizar testes de conectividade em scripts de diagnóstico.
Quando usar¶
- Você precisa verificar problema em serviços HTTPS/TLS (
handshake failure,unknown ca). - O tráfego passa por proxy e você quer validar rota real.
- Quer saída mais consistente entre ambientes com Nmap já instalado.
Exemplos de uso¶
# Conectividade TCP básica
ncat -vz -n -w 2 10.10.20.30 443
# Teste TLS (mostra detalhes no modo verboso)
ncat --ssl -v api.exemplo.com 443
# Teste via proxy HTTP
ncat --proxy 10.10.0.10:3128 --proxy-type http api.exemplo.com 443
# Listener para coleta de payload
ncat -lvk 8080
Exemplos de saída¶
$ ncat -vz -n -w 2 10.10.20.30 443
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Connected to 10.10.20.30:443.
Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.
Interpretação: conectividade L3/L4 OK; falta ainda validar protocolo da aplicação.
$ ncat --ssl -v api.exemplo.com 443
Ncat: SSL connection to 203.0.113.15:443.
Ncat: SHA-1 fingerprint: 12AB ...
Interpretação: handshake TLS ocorreu; útil para separar erro de rede de erro de certificado.
$ ncat --ssl -v api.exemplo.com 443
Ncat: SSL routines:tls_process_server_certificate:certificate verify failed
Interpretação: rota e porta OK, mas cadeia de certificado/CA falhou.
Dicas de troubleshooting¶
- Para erro de certificado, compare com
openssl s_client -connect host:443 -servername host. - Em proxy, valide se bloqueio é no proxy ou no destino testando com e sem
--proxy. - Use
-npara evitar falso positivo/negativo causado por DNS interno. - Em timeout TLS, teste primeiro sem
--sslpara confirmar conectividade TCP pura.
Flags importantes¶
--ssl: habilita TLS no cliente/servidor.--ssl-verify: valida certificado do peer (comportamento seguro).--proxy <host:porta>e--proxy-type http|socks4|socks5.-z,-v,-n,-w: mesmos conceitos práticos donc.-l,-k: listener persistente para capturar múltiplas conexões.
Boas práticas¶
- Em produção, prefira
--ssl-verifypara não mascarar erro real de PKI. - Documente fingerprint/cert expirado quando abrir incidente para time de segurança.
- Evite usar
--sslcomo prova de “aplicação saudável”; valide rota HTTP/API depois.
Referências¶
man ncat- Ncat Reference Guide: https://nmap.org/ncat/guide/