Como determinar se uma porta está aberta em um servidor Windows?
-
07-07-2019 - |
Pergunta
Eu estou tentando instalar um local sob uma porta alternativa no servidor, mas a porta pode ser fechada por um firewall. Existe uma maneira de executar ping fora ou dentro, em uma porta específica, para ver se ele está aberto?
Solução
Assumindo que é uma porta TCP (em vez de UDP) que você está tentando usar:
-
No próprio servidor, o uso
netstat -an
verificar para ver quais portas estão escutando -
Do lado de fora,
telnet host port
apenas (outelnet host:port
em sistemas Unix) para ver se a conexão for recusada, aceita, ou o tempo limite
Quanto a este último teste, em seguida, em geral:
- conexão recusada significa que nada está sendo executado nessa porta ??li>
- aceitou significa que algo está sendo executado nessa porta ??li>
- tempo limite significa que um firewall está bloqueando o acesso
No Win7 ou Vista opção DEFAULT 'telnet' não é reconhecido como um comando interno ou externo, programa operacional ou ficheiro batch. Para resolver isso, basta ativá-la: Clique em Iniciar, Painel de Controle, Programas e, em seguida, Windows ativar ou desativar recursos do. Na lista, role para baixo e selecione o cliente Telnet e clique em OK
Outras dicas
Só queria acrescentar que no Windows você pode usar
netstat -na | find "your_port"
para restringir os resultados. Você também pode filtrar por LISTENING
, ESTABLISHED
, TCP
e tal. Mente que é caso, porém sensível.
Se você é verificar do lado de fora, não a partir do próprio servidor, e você não quer se preocupar instalar telnet (como ele não vem com as últimas versões do Windows) ou qualquer outro software, então você tem nativo PowerShell:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(Infelizmente isso só funciona com o PowerShell 4.0 ou mais recente. Para verificar a sua versão PS, tipo $PSVersionTable
.)
(Se você tem um PSVersion <4.0, você está sem sorte Marque esta tabela:.
Mesmo que você pode atualizar sua versão do PowerShell, instalando a Windows Management Framework 4.0 , ele não fez o truque para mim, Test-NetConnection cmdlet ainda não está disponível).
Em uma máquina Windows que você pode usar PortQry da Microsoft para verificar se um aplicativo já está escutando uma porta específica usando o seguinte comando:
portqry -n 11.22.33.44 -p tcp -e 80
Eu fiz assim:
netstat -an | find "8080"
a partir de telnet
telnet 192.168.100.132 8080
E apenas certifique-se que firewall está desativado nessa máquina.
Se telnet não está disponível, baixe 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.
Você quer uma ferramenta para fazê-lo? Existe um site em http://www.canyouseeme.org/ . Caso contrário, você precisa de algum outro servidor para chamá-lo para trás para ver se uma porta está aberta ...
Use esta opção se você quiser ver todas as utilizadas e portas de escuta no servidor Windows:
netstat -an |find /i "listening"
Veja todos, Ouvir, portos estabelecidos abertos:
netstat -a
No servidor Windows, você pode usar
netstat -an | where{$_.Contains("Yourport")}
psping da Sysinternals também é muito bom
Eu acho que o melhor que eu tenho é este onde você pode verificar seus próprios portos, bem como as portas do outro domínio também.
Aqui está o que funcionou para mim,
- aberta de prompt de comando
- Tipo de telnet
- Microsoft Telnet> open
Ele vai confirmar se a porta é aberta.
Outro utilitário que eu encontrei e é bom e pequeno, bem como, Linha de comando PortQry Port Scanner Versão 2.0 https://www.microsoft.com/en-us/download /details.aspx?id=17148
Você pode executar ping um servidor e uma porta e ele vai dizer-lhe o estado da porta, existe um utilitário de linha de comando e uma interface de usuário para ele.