Número de puerto PING?

50

Ayer, el entrevistador me preguntó cuál es el número de puerto para ping y qué protocolo de ping utiliza TCP / UDP.

Después de la entrevista busco en Internet y encontré diferentes resultados diferentes, alguien dice que ICMP usa el puerto 7, alguien dice que no usa el número de puerto, en un sitio encontré que usa el protocolo IP 1, etc.

¿Alguien puede ayudarme con la explicación correcta?

Saludos, Nishad

Nishad Morey
fuente
2
TCP y UDP son protocolos de capa 4, y los puertos son direcciones TCP o UDP, pero ICMP es parte de IP (capa 3). De RFC 792: " ICMP, utiliza el soporte básico de IP como si fuera un protocolo de nivel superior, sin embargo, ICMP es en realidad una parte integral de IP, y debe ser implementado por cada módulo de IP " .
Ron Maupin
1
Discutir las capas es un poco engañoso aquí ya que ICMP, TCP y UDP viajan directamente sobre IP como los protocolos 1, 6 y 17 respectivamente. Para el OP, revise los encabezados para ICMP / TCP / UDP o ejecute una captura de paquetes para ver cómo difieren. Solo recuerde que ICMP está completamente separado de TCP y UDP.
cmschmidt15
¿Conseguiste el trabajo?
Janac Meena
1
Sí, conseguí el trabajo.
Nishad Morey

Respuestas:

62

El comando ping estándar no usa TCP o UDP. Utiliza ICMP. Para ser más precisos, se utilizan ICMP tipo 8 (mensaje de eco) y tipo 0 (mensaje de respuesta de eco). ¡ICMP no tiene puertos!

Ver RFC792 para más detalles.

Jens Link
fuente
55
Para aclarar, ICMP se monta directamente sobre IP como protocolo IP 1. Dentro del encabezado ICMP tiene los tipos echo / echo reply, etc. Compare esto con TCP y UDP que viajan sobre IP como protocolos IP 6 y 17, respectivamente, y usan su propio sistema de puertos para diferenciar aplicaciones.
cmschmidt15
5

Me gustaría darle una respuesta adicional, especialmente a esta parte de la pregunta:

... alguien dice que ICMP usa el puerto 7

El puerto 7 (tanto TCP como UDP) se utiliza para el servicio "echo".

Si este servicio está disponible en una computadora, el puerto UDP 7 podría usarse en lugar de ICMP para realizar un "ping".

Sin embargo, la mayoría de las computadoras modernas no tienen el servicio "echo" en ejecución, por lo que realizar "ping" utilizando el puerto UDP 7 en lugar de ICMP no funcionaría.

Y: Como las palabras "en lugar de ICMP" ya indican, "hacer ping" sobre el puerto UDP 7 NO usa ICMP sino UDP, ¡que es un protocolo completamente diferente!

Martin Rosenau
fuente
Como refutación a su respuesta, aquí hay una publicación que alguien dijo en un foro que encontré sobre este tema: "Las personas que piensan que ICMP de alguna manera usa el puerto 7 (el antiguo servicio de eco donde se haría eco de todos los caracteres que envió) debería no estar en red y debe ser fusilado. Si no está de acuerdo con lo que he dicho, mire la estructura de un datagrama IP y de un datagrama ICMP. El ICMP se encapsula en el datagrama IP y luego el datagrama IP en cualquier los medios particulares necesitan formar el marco ".
Jesse P.
"ICMP no utiliza un puerto ya que no tiene un lugar para un puerto. Está encapsulado solo con un datagrama IP. Encontrará la opción de puerto solo en los datagramas UDP y TCP. Para bloquear el eco ICMP, debe bloquear explícitamente tipo y código "
Jesse P.
El tema completo del foro es community.infosecinstitute.com/discussion/8777
Jesse P.
@JesseP. ¿Escribí que ICMP usa el puerto 7? No. Incluso escribí la palabra "en su lugar" en "en lugar de ICMP" en negrita para indicar que el puerto 7 no tiene nada que ver con ICMP. Editaré mi respuesta un poco para aclarar esto.
Martin Rosenau
Eso es justo. Fue un poco confuso de leer. Lo siento.
Jesse P.
2

Como ya han dicho otros, en general los pings están basados ​​en ICMP y no tienen puertos. Sin embargo, existe algo como TCP Ping donde, en lugar del típico protocolo de enlace TCP de 3 vías, solo se realizan los primeros 2 pasos y se mide el retraso entre ellos. Una vez que se ha completado la medición, se envía un ACK RST para cerrar la conexión medio abierta. Luego, el proceso se repite hasta que se alcanza el contador / duración o usted finaliza el proceso. Usando TCP Ping (que uso FRECUENTEMENTE para probar los puertos abiertos en los servidores en los que trabajan los administradores de mis sistemas) puede especificar los puertos de destino para probar (para verificar que un servidor esté escuchando en un puerto determinado). El puerto de origen es solo un puerto aleatorio efímero.

Si desea ver un ejemplo de una utilidad TCP Ping (la que uso en los sistemas Windows), aquí tiene: TCPing . Además, NMAP viene con una utilidad llamada NPING que tiene un indicador que también le permite realizar pings basados ​​en TCP.

Como nota, algunos equipos de red también tienen esta capacidad, como los ASA de Cisco que utilizan algunas de las versiones más nuevas del sistema operativo. El comando es:ping tcp <destination IP> <destination port>

Jesse P.
fuente
1

Ping no usa puerto sino protocolo. Ping opera enviando paquetes de solicitud de eco del Protocolo de mensajes de control de Internet (ICMP) al host de destino y esperando una respuesta de eco ICMP. Sin embargo, como una consideración de seguridad, esto a menudo está deshabilitado.

James Jang
fuente