I'm trying to install a site under an alternative port on a server, but the port may be closed by a firewall. Is there a way to ping out or in, on a specific port, to see if it is open?
This question is related to
windows-server-2003
port
ping
PsPing from Sysinternals is also very good.
If telnet
is not available, download PuTTY. It is a far superior Telnet, SSH, etc. client and will be useful in many situations, not just this one, especially if you are administering a server.
I did like that:
netstat -an | find "8080"
from telnet
telnet 192.168.100.132 8080
And just make sure that the firewall is off on that machine.
Another utility that I found and is good and small as well, is PortQry Command Line Port Scanner version 2.0.
You can ping a server and a port and it will tell you the state of the port. There is a command-line utility and a UI for it.
If you're checking from the outside, not from the server itself, and you don't want to bother installing telnet (as it doesn't come with the last versions of Windows) or any other software, then you have native PowerShell:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(Unfortunately this only works with PowerShell 4.0 or newer. To check your PowerShell version, type $PSVersionTable
.)
PS: Note, these days there are some claims on the twittersphere that hint that this answer could be improved by mentioning "Test-Connection" from PowerShell Core, or the shortcut "tnc". See https://twitter.com/david_obrien/status/1214082339203993600 and help me edit this answer to improve it please!
(If you have a PSVersion < 4.0, you're out of luck. Check this table:
Even though you can upgrade your version of PowerShell by installing the Windows Management Framework 4.0, it didn't do the trick for me, Test-NetConnection cmdlet is still not available).
On Windows Server you can use
netstat -an | where{$_.Contains("Yourport")}
PsPing from Sysinternals is also very good.
If you're checking from the outside, not from the server itself, and you don't want to bother installing telnet (as it doesn't come with the last versions of Windows) or any other software, then you have native PowerShell:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(Unfortunately this only works with PowerShell 4.0 or newer. To check your PowerShell version, type $PSVersionTable
.)
PS: Note, these days there are some claims on the twittersphere that hint that this answer could be improved by mentioning "Test-Connection" from PowerShell Core, or the shortcut "tnc". See https://twitter.com/david_obrien/status/1214082339203993600 and help me edit this answer to improve it please!
(If you have a PSVersion < 4.0, you're out of luck. Check this table:
Even though you can upgrade your version of PowerShell by installing the Windows Management Framework 4.0, it didn't do the trick for me, Test-NetConnection cmdlet is still not available).
Another utility that I found and is good and small as well, is PortQry Command Line Port Scanner version 2.0.
You can ping a server and a port and it will tell you the state of the port. There is a command-line utility and a UI for it.
Do you want a tool for doing it? There is a website at http://www.canyouseeme.org/. Otherwise, you need some other server to call you back to see if a port is open...
If telnet
is not available, download PuTTY. It is a far superior Telnet, SSH, etc. client and will be useful in many situations, not just this one, especially if you are administering a server.
Use this if you want to see all the used and listening ports on a Windows server:
netstat -an |find /i "listening"
See all open, listening, established ports:
netstat -a
Do you want a tool for doing it? There is a website at http://www.canyouseeme.org/. Otherwise, you need some other server to call you back to see if a port is open...
On a Windows machine you can use PortQry from Microsoft to check whether an application is already listening on a specific port using the following command:
portqry -n 11.22.33.44 -p tcp -e 80
Use this if you want to see all the used and listening ports on a Windows server:
netstat -an |find /i "listening"
See all open, listening, established ports:
netstat -a
On Windows you can use
netstat -na | find "your_port"
to narrow down the results. You can also filter for LISTENING
, ESTABLISHED
, TCP
and such. Mind it's case-sensitive though.
Here is what worked for me:
telnet
It will confirm whether the port is opened.
On Windows you can use
netstat -na | find "your_port"
to narrow down the results. You can also filter for LISTENING
, ESTABLISHED
, TCP
and such. Mind it's case-sensitive though.
Here is what worked for me:
telnet
It will confirm whether the port is opened.
Do you want a tool for doing it? There is a website at http://www.canyouseeme.org/. Otherwise, you need some other server to call you back to see if a port is open...
On a Windows machine you can use PortQry from Microsoft to check whether an application is already listening on a specific port using the following command:
portqry -n 11.22.33.44 -p tcp -e 80
I did like that:
netstat -an | find "8080"
from telnet
telnet 192.168.100.132 8080
And just make sure that the firewall is off on that machine.
On Windows Server you can use
netstat -an | where{$_.Contains("Yourport")}
Source: Stackoverflow.com