Como determinar se uma porta está aberta num servidor do Windows?
14 answers
Assumindo que é uma porta TCP (em vez de UDP) que está a tentar usar:
No próprio servidor, use
netstat -an
para verificar quais os portos que estão a ouvirDo lado de fora, apenas
telnet host port
(outelnet host:port
em sistemas Unix) para ver se a ligação é recusada, aceite ou se os tempos-limite
Neste último teste, em geral:
- ligação recusada significa que nada está a correr sobre isso porto
- aceite significa que algo está a correr naquele porto
- Tempo-limite significa que uma firewall está a bloquear o acesso
Na opção Win7 ou Vista defaul 'telnet' não é reconhecido como um comando interno ou externo,programa operacional ou ficheiro em lote. Para resolver isso, basta ativá-lo : clique em Iniciar, Painel De Controle, Programas e, em seguida, ligar ou desligar as funcionalidades do Windows. Na lista, descer e seleccionar o Cliente Telnet e carregar em OK
Só queria acrescentar que nas janelas pode usar
netstat -na | find "your_port"
Para reduzir os resultados. Você também pode filtrar para LISTENING
, ESTABLISHED
, TCP
e tal. Mas é sensível a maiúsculas.
Se estiver a verificar de fora, não do próprio servidor, e não se quiser incomodar a instalar o telnet (uma vez que não vem com as últimas versões do Windows) ou qualquer outro software, então terá o PowerShell nativo:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(infelizmente isso só funciona com PowerShell 4.0 ou mais recente. Para verificar a sua versão PS, escreva $PSVersionTable
.)
(Se tem uma PSVersion
Mesmo que tu pode actualizar a sua versão do powershell instalando o Windows Management Framework 4.0 , ele não fez o truque para mim, Test-NetConnection o cmdlet ainda não está disponível).
Numa máquina do Windows pode usar o PortQry da Microsoft para verificar se uma aplicação já está a ouvir num porto específico usando o seguinte comando:
portqry -n 11.22.33.44 -p tcp -e 80
netstat -an | find "8080"
De telnet
telnet 192.168.100.132 8080
E certifica-te que a firewall está desligada naquela máquina.
Se o telnet não estiver disponível, faça o download PuTTY . É um telnet muito superior, ssh, etc. cliente e será útil em muitas situações, não apenas este, especialmente se você estiver administrando um servidor.
Use isto se quiser ver todas as portas usadas e de escuta no Windows server:
netstat -an |find /i "listening"
Ver todos os portos abertos, de escuta e estabelecidos:
netstat -a
No windows server pode usar
netstat -an | where{$_.Contains("Yourport")}
Acho que o melhor que consegui foi isto, onde podes verificar os teus próprios portos, bem como os de outros domínios também.
- abrir comando-prompt
- Tipo telnet
- Microsoft Telnet>open
Confirmará se o porto está aberto.
Outro utilitário que eu encontrei e é bom e pequeno também, PortQry Linha De Comandos Port Scanner Versão 2. 0 https://www.microsoft.com/en-us/download/details.aspx?id=17148
Você pode contactar um servidor e uma porta e ela dir-lhe-á o estado da porta, existe um utilitário de linha de comando e um UI para ele.