Como testar conexão TCP / UDP no Linux e Windows
Published:
Neste post será apresentado ferramentas para testar conexões TCP e UDP. Isto é bem bacana, pois às vezes alguma aplicação pode não estar funcionando simplesmente pelo fato dela não ser “liberada” para funcionar na rede.
Terminologias:
TCP: Significa Transmission Control Protocol ou Protocolo de controle de transmissão. Em resumo ele tem como objetivo garantir que os dados sejam totalmente transmitidos.
UDP: O UDP é o irmão mais novo e rebelde do TCP, no UDP não existe checagem de nada, nem confirmação alguma, isto torna ele mais rápido, porém menos seguro.
Bom, dependendo uma aplicação pode utilizar o protocolo TCP ou UDP, dando um exemplo prático: Serviços que fazem streaming costumam utilizar o UDP, já o serviço de SSH (utilizado bastante por administradores de sistemas Linux), utiliza o TCP (por garantir a entrega, e ser mais seguro por exemplo).
Enfim.. Vamos ao que interessa!
Como testar UDP no Linux?
Eu particularmente gosto de testar com Netcat (nc), que é denomidana como uma ferramenta de rede.
Sintaxe:
nc -z -v -u host porta.
- z = Procura apenas em escuta, sem enviar dados.
- v = Modo verbose.
- u = UDP.
Exemplo prático:
$ nc -z -u -v 8.8.8.8 53
- 8.8.8.8 = servidor dns do Google.
- 53 = Porta que o servidor dns responde.
Como testar TCP no Linux?
Imagino que você já deve imaginar que basta trocar o parâmetro “u” do comando de cima para “t”, mas no caso do nc não é necssário, pois ele já funciona em default como TCP, portanto, basta remover o parâmetro “u”.
Exemplo prático:
$ nc -z -v 8.8.8.8 53
Em ambos os casos, o resultado esperado é: Connection to 8.8.8.8 53 port [tcp ou udp/domain] succeeded!
Mas e agora.. Como testar no Windows?
Bom, a ferramenta Netcat é feita para sistemas operacionais Unix, Linux, Microsoft Windows e Macintosh, mas utilizando no Windows por exemplo, sempre dá bastante trabalho pelo fato de todos os antivírus acusarem como uma ferramenta “maliciosa”. Para facilitar o fato de não precisar desabilitar ou liberar nas exceções do Antivírus, encontrei a ferramenta PortQry.exe. Basicamente é uma ferramenta para verificar a resposta das portas TCP / UDP em hosts remotos para diagnosticar problemas relacionados à operação de vários serviços de rede e firewalls em redes TCP / IP.
Como instalar?
choco install portqry
ou
Em meu caso para funcionar em qualquer local, copiei o arquivo para C:\Windows\System32, mas você pode adicionar no PATH do Windows também.
Como usar?
Sintaxe:
Portqry.exe -n server [-p protocol] [-e ou -r].
Exemplo prático:
PortQry -n 8.8.8.8 -p both -e 53
Conclusão
Estas são as ferramentas que prefiro, mas deixarei logo abaixo mais algumas opções que já tive o prazer de utilizar.
telnet; Test-Connection; traceroute; tracert; nmap;
Fontes: Using PortQry to Check TCP/UDP Open Ports; Description of the Portqry.exe command-line utility; man command (no linux), get-help command (no powershell).
Obrigado por ler, abraços! :D