¿Cómo puedo usar netcat como ping?

4

¿Cómo podemos usar el netcat ( nc ) para determinar si una máquina en particular está ejecutando servicios web, de correo o SSH?

    
pregunta stevGates 17.11.2015 - 22:30
fuente

4 respuestas

7

Para identificar si un servidor se está ejecutando, solo necesita determinar si el puerto está abierto para solicitudes. Usando netcat, puede consultar un servidor como este:

nc -z www.example.com 80

Esto te dirá si está escuchando en el puerto 80, el puerto web, pero no te dirá nada más sobre el servidor.

Para utilizar netcat para obtener más información, debe pasar los datos correctos para obtener una respuesta válida. Eso significa que debe comprender http si desea averiguar si está ejecutando un servidor web, smtp si está ejecutando un remitente de correo, etc. Debe saber en qué puerto se ejecuta un servidor web, el nombre del servidor, el protocolo , todo.

Este es un ejemplo simple de cómo determinaría si www.example.com alojaba un servidor web en vivo utilizando netcat.

echo -e "GET http://www.example.com HTTP/1.0\n\n" | nc www.example.com 80 | less 

Si vuelve con una respuesta que contiene HTTP/1.0 200 OK , está ejecutando un servidor web en el puerto 80. De lo contrario, puede que no esté ejecutando un servidor web típico.

Tendrá que descubrir y comprender los protocolos de los servidores de correo y los servidores ssh si desea consultarlos de manera similar.

Sin embargo, Netcat es realmente la herramienta incorrecta para este trabajo. Si desea identificar los tipos de servidores que está ejecutando un host, nmap es una herramienta mucho mejor, ya que se mantiene al día con las diversas huellas dactilares de los servidores comunes que probablemente encuentre.

    
respondido por el John Deters 18.11.2015 - 00:13
fuente
0

Esto puede responder a su pregunta; Netcat puede hacer un escaneo de puertos:

  

"El escaneo de puertos es un método popular para explorar lo que hay por ahí.   Netcat acepta sus comandos con opciones primero, luego el host de destino,   y todo a partir de entonces se interpreta como nombres de puerto o números, o   Rangos de puertos en sintaxis M-N. CUEVA: algunos nombres de puertos en    /etc/services contiene guiones - netcat actualmente no lo hará correctamente   analice esos, así que especifique rangos usando números si puede. Si mas de   así se especifica un puerto, netcat se conecta a todos de ellos, enviando   el mismo lote de datos desde la entrada estándar [hasta 8K] a cada   uno que está conectado con éxito a Especificando múltiples puertos también   suprime los mensajes de diagnóstico sobre conexiones rechazadas, a menos que -v sea   especificado dos veces para "más verbosidad". De esta manera usted normalmente obtiene   Solo se le notifica acerca de conexiones realmente abiertas. Ejemplo: nc -v -w 2 -z target 20-30 intentará conectarse a cada puerto entre 20 y 30 [inclusive] en el destino, y probablemente le informará acerca de un FTP   servidor, servidor telnet y correo en el camino. El interruptor -z   Evita el envío de datos a una conexión TCP y una sonda muy limitada.   datos a una conexión UDP, y por lo tanto es útil como un modo de escaneo rápido   Solo para ver en qué puertos está escuchando el objetivo. Para limitar el escaneo   Si lo desea, a velocidad, -i insertará un retraso entre cada sonda de puerto.   Hay algunos escollos con respecto al escaneo UDP, que se describen más adelante,   pero en general funciona bien ".

enlace

    
respondido por el multithr3at3d 19.11.2015 - 01:20
fuente
0

Responda a lo que se le ha pedido, sin sugerencias o información adicional.

Para probar si el servicio se está ejecutando en el servidor remoto.

nc -zvn IP PORT

ej. para probar smtp

nc -zvn 10.8.0.45 25
    
respondido por el dossi 16.12.2015 - 09:57
fuente
0

Como dije en superuser.com:

  

Sí, usa HPing para hacer eso:

$ sudo hping -S -p 80 google.com
HPING google.com (p5p1 77.237.27.37): S set, 40 headers + 0 data bytes
len=46 ip=77.237.27.37 ttl=58 id=25706 sport=80 flags=SA seq=0 win=29200 rtt=7.5 ms
len=46 ip=77.237.27.37 ttl=58 id=25707 sport=80 flags=SA seq=1 win=29200 rtt=7.4 ms
len=46 ip=77.237.27.37 ttl=58 id=25708 sport=80 flags=SA seq=2 win=29200 rtt=8.5 ms
len=46 ip=77.237.27.37 ttl=58 id=25709 sport=80 flags=SA seq=3 win=29200 rtt=7.8 ms
^C
--- google.com hping statistic ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 7.4/7.8/8.5 ms
     

Tenga en cuenta que necesita privilegios de root (o capacidades de SELinux) para crear   paquetes de IP sin procesar, al igual que ping (que es más probable que suid en su   sistema).

Fuente: enlace

    
respondido por el d33tah 16.12.2015 - 18:10
fuente

Lea otras preguntas en las etiquetas