Si no tiene firewalls y enrutadores en el camino, es decir, si está en el mismo segmento que el host que está tratando de verificar, la mayoría de las soluciones anteriores son un poco exhaustivas.
No importa a qué puerto se conecte, y de hecho, si se conecta a un puerto que es poco probable que tenga un servicio en ejecución, puede hacer el trabajo sin ser detectado.
¿Cómo?
Puede usar cualquier herramienta que desee, pero podemos usar telnet ...
% telnet <host> 313373
Trying 10.211.55.3...
telnet: connect to address 10.211.55.3: Connection refused
telnet: Unable to connect to remote host
%
Esto debería suceder de inmediato, a menos que el host descarte paquetes. Lo que realmente sucede es que la pila TCP / IP en el host le está enviando un segmento TCP con el conjunto de bits RST, es decir, terminando su paquete SYN.
El hecho de que haya recibido un paquete RST significa que de hecho hay un host en el otro extremo, y como beneficio adicional, lo ha hecho sin ser detectado (El TCP / IP no tenía una aplicación de capa superior para hablar sobre esta conexión) .
Sin embargo, en lugar de telnet, probablemente usaría algo como miedo, escriba algo que busque la bandera RST y se lo haga saber.
Sólo para completar esto, si no hay un host de la IP que intenta - colgará por un tiempo, y el tiempo de espera - lo mismo que le sucedería si el host receptor tenía un cortafuegos con un filtro de caída.
Si hay firewalls involucrados, entonces, como otros han sugerido, utilice herramientas como nmap
y cualquier otra cosa.