Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

325
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda