Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

332
Vistas
Netcat solo envía una respuesta después de presionar CTRL-C en la conexión

Cuando ejecuto este comando cat index.html | nc -lnvp 2222 y luego abra la dirección local del servidor en el navegador con este encabezado: GET / HTTP/1.1 Host: 192.168.146.131:2222 User-Agent: "my user agent here" Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de,en-US;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate DNT: 1 Connection: keep-alive

y esto como el index.html: hi whats up (eso es todo)

Recibo la solicitud http en la terminal donde se ejecuta netcat y mi navegador en mi otra máquina está esperando. Solo cuando hago CTRL-C la conexión en el terminal obtengo la respuesta en el navegador.

Mi uname -a imprime: Linux kali 4.0.0-kali1-amd64 #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) x86_64 GNU/Linux

Cuando trato de usar cat index.html | nc -l 2222 no funciona en absoluto. Mi máquina Kali ni siquiera recibe una solicitud http. Cuando pruebo lo mismo en una máquina Ubuntu, funciona como quiero que funcione: simplemente envía el index.html al navegador sin esperar a que yo presione CTRL-C netcat.

¿Alguien tiene una idea de por qué netcat se comporta tan raro?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Hay dos netcat s diferentes, y estás usando uno de cada uno:

  • El netcat tradicional evitará cerrar la conexión de forma predeterminada, porque el cliente podría enviar más datos.

  • OpenBSD netcat cierra la conexión por defecto cuando no hay más datos para enviar.

Las versiones antiguas de HTTP (como las que está utilizando) esperan que la conexión se cierre, por lo que funciona de manera predeterminada con OpenBSD netcat.

También puede hacer que netcat tradicional cierre la conexión en eof, usando -q 0 :

 stuff | nc.traditional -l -p 2222 -q 0
over 4 years ago · Santiago Trujillo Denunciar

0

man nc escribe:

"netcat sigue ejecutándose hasta que se cierra el lado de la red ", por lo que su navegador esperará para siempre a que finalicen los datos. Use la opción -q para salir, vea la página del manual nuevamente: "después de EOF en stdin, espere el número especificado de segundos y luego salga".

 cat index.html | nc -lnvp 2222 -q 0

nc -l 2222 no tiene sentido, necesita usar -p para especificar el puerto.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda