GNU/Linux >> Tutoriales Linux >  >> Linux

¿Es posible hacer ping a una dirección:puerto?

Los puertos son un concepto de UDP y TCP. Los mensajes de ping se conocen técnicamente como Solicitud de eco ICMP y Respuesta de eco ICMP que forman parte de ICMP. ICMP, TCP y UDP son "hermanos"; no se basan el uno en el otro, sino que son tres protocolos separados que se ejecutan sobre IP.

Por lo tanto, no puede ping un puerto Lo que puedes hacer, es usar un escáner de puertos como nmap .

nmap -p 80 onofri.org

También puedes usar telnet onofri.org 80 , como se sugiere en una de las otras respuestas (dará un error si el puerto está cerrado o filtrado).


Uso Telnet, ya que está integrado en muchas plataformas sin descargas adicionales.

Simplemente use el comando telnet para conectarse al puerto que desea probar. Si recibe el mensaje a continuación, o un mensaje del propio servicio, entonces el puerto está activo.

Minty16 ~ $ telnet localhost 139
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Si conoce la secuencia de comandos para el servicio al que se está conectando, puede escribir un comando (HTTP/FTP GET, por ejemplo) y observar la respuesta y la salida en la terminal. Esto es muy útil para probar el servicio en sí, ya que le mostrará información de error enviada al cliente, como errores HTTP 500.

Si recibe un mensaje de que se rechazó la conexión, el puerto se cierra.

Minty16 ~ $ telnet localhost 5000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Puede usar netcat para conectarse a un puerto específico para ver si obtiene una conexión. El indicador -v aumentará la verbosidad para mostrar si el puerto está abierto o cerrado. El indicador -z hará que netcat se cierre una vez que tenga una conexión. Luego puede usar los códigos de salida a través de $? para ver si la conexión se estableció o no.

$ nc -zv localhost 22
localhost [127.0.0.1] 22 (ssh) open
$ echo $?
0
$ nc -zv localhost 23
localhost [127.0.0.1] 23 (telnet) : Connection refused
$ echo $?
1

Además, puede usar mtr con el indicador -T para tcp y el indicador -P para especificar un puerto. Esto hará algo similar a una ruta de rastreo sobre TCP en lugar de solo ICMP. Sin embargo, esto puede ser excesivo.

suspiro Tengo que editar para agregar este bit, ya que no podemos poner código en los comentarios. Knoppix puede estar haciendo algo diferente con su versión de netcat, pero esto es lo que obtengo de Linux Mint

$ date;nc -z -w 1 www.google.com 8000;date
Fri Jun 20 15:55:26 PDT 2014
Fri Jun 20 15:55:27 PDT 2014
$ date;nc -z -w 4 www.google.com 8000;date
Fri Jun 20 15:55:33 PDT 2014
Fri Jun 20 15:55:37 PDT 2014

$ nc -h
[v1.10-40]

Linux
  1. Linux – ¿Puerto serie Raspberrypi?

  2. ¿Puerta de enlace de puerto serie Netbsd?

  3. Dirección predeterminada

  4. Cómo cambiar el puerto de cPanel – ¡Ya no es posible!

  5. Enlace fallido:la dirección ya está en uso

¿Cuál es mi dirección IP?

Cómo abrir un puerto para una dirección IP específica en Firewalld

Cómo cambiar la dirección IP en Linux

Cómo hacer ping a un número de puerto específico

¿Cómo permitir el puerto SMTP 587 en todas las direcciones IP en Plesk?

Comando ping de Linux