¿Es posible 'tubería' una instancia de una aplicación de consola a través de netcat, por lo que está a la escucha netcat para una nueva conexión y redirige el stdin
y stdout
sobre la conexión de red.
linux
networking
console
netcat
jammmie999
fuente
fuente
<
o>
) es significativamente diferente de la tubería (|
), aunque a veces puede lograr una operación equivalente con una combinación de ambos. Sin embargo, de nuevo, con la redirección de E / S, puede cambiar la ubicación de ambas transmisiones; La tubería simplemente redirige la salida estándar de un proceso a la entrada estándar de otro.Respuestas:
Bueno, como se documenta en Wikipedia y en la
netcat
documentación, existe una-e
opción que hace que genere ( e xecute) un programa al recibir una conexión, conectando el socket a stdin, stdout y stderr del proceso. Ejemplo de uso:Los ejemplos comúnmente se muestran
/bin/sh
obash
se usan como nombre_programa . Se desaconseja el uso de esta opción porque básicamente abre un portal de acceso anónimo y sin contraseña en su máquina. Por supuesto, esto se mitiga mediante el uso de un programa con menos poder que el shell (uno que no tiene la capacidad de escapar a un shell), minimizando su uso y manteniéndolo en secreto. Sin embargo, los desarrolladores originalesnetcat
sintieron con la suficiente firmeza que esta opción era una mala idea de que la deshabilitaron por defecto y la condicionaron bajo la opción de compilación "GAPING_SECURITY_HOLE". Esto se menciona brevemente en este Tutorial de NetCat y otranetcat
documentación.Una búsqueda en Google me llevó a debatir este problema en otros sitios de Stack Exchange: desbordamiento de pila y falla del servidor . Múltiples contribuyentes ofrecieron la siguiente técnica para hacer lo mismo sin usar la
-e
opción (es decir, en una versiónnetcat
que tiene la-e
opción deshabilitada):Un par de notas:
netcat
,-l
implica-p
, por lo que debe decir justo-l
y luego el número de puerto.while true
bucle.fuente