8

How do I check if a port is consistently alive? For example, I could use

ping 192.168.1.1 -t > results.txt

This will ping 192.168.1.1 continuously so that I could monitor it.
Is there an equivalent tool or command that I could use for this?

Currently I use telnet but sometimes the host disconnects it. I need a Windows solution.

Chris S
  • 78,455
grassbl8d
  • 313

6 Answers6

13

You could use netcat if there is a Windows version - on Linux I use:

nc -z <host> <port>

This returns 0 if the port is open. Run this in a loop for make it continuous.

If Powershell is available, see https://web.archive.org/web/20111102182913/http://poshcode.org/85 for an example.

Andrew
  • 626
5

Or use nmap from http://nmap.org , there is a windows version available.

nmap -p port host

or, for hosts not responding to ICMP requests,

nmap -P0 -p port host

rems
  • 2,258
5

You could use nping from nmap like:

C:\>nping --tcp -p 80 192.168.1.1

where -p specifies the port to scan (here: 80). Furthermore you can use -H for hiding sent packets, in favor of showing only replies.

Murmel
  • 265
0

Edited: Download nmap command line tools from nmap.org, there you will find ncat. Copy and paste this text and to text editor and save as .BAT-file

@Echo Off
REM *************************************************************************
REM ** Port tester for Service Uptime Logging using NCAT.EXE from nmap.org **
REM **                                                                     **
REM ** Static variables:                                                   **
REM ** Host_IP = Hostname or IP you want to test                           **
REM ** Host_Port = Port number service are listening to                    **
REM ** LogFileName = Name of Logfile                                       **
REM ** WaitTime = Ca. number of seconds between each query                 **
REM *************************************************************************

:Pre SET Host_IP=127.15.4.75 SET Host_Port=80 SET LogFileName=Ncat_%Host_IP%_%Host_Port%.txt SET WaitTime=10

:Start ping 127.15.4.75 -w 1000 -n %WaitTime% > NUL ncat -z %Host_IP% %Host_Port% >NUL if errorlevel=2 Goto Error2 if errorlevel=1 Goto Error1 if errorlevel=0 Goto Error0 Goto Start

:Error2 Echo %time% Other Error >> %LogFileName% Goto Start

:Error1 Echo %time% Network Error >> %LogFileName% Goto Start

:Error0 Echo %time% Connection successful >> %LogFileName% Goto Start :End

DrFeelGod
  • 1
  • 1
0

telnet <host> <port> will check remote <host> for a TCP listener on <port>.

dmourati
  • 26,498
0

If you want to go with stock command line utils, then TELNET will connect to a port for you. On the flip side, if there is service responding, then TELNET may 'hang' while waiting for you to supply the escape command sequence.

If you're open to installing new command line utils, then PaPing works as you want. It's cross platform, and there is a Windows installer available.