Cuando intento ejecutar el siguiente comando:
echo -e "GET / HTTP/1.1\n\n" | /dev/tcp/74.125.225.19/80
Me sale el siguiente mensaje de error:
bash: /dev/tcp/74.125.225.19/80: No such file or directory
El siguiente comando funciona perfectamente, por lo que el problema implica cómo lo estoy usando /dev/tcp
:
echo -e "GET / HTTP/1.1\n\n" | nc 74.125.225.19 80
Estoy en Ubuntu 13.04, por lo que la capacidad debería estar en mi sistema. ¿Qué estoy haciendo mal? ¿Cuáles son las reglas para usar /dev/tcp
correctamente?
Respuestas:
Tienes que usarlo en redirecciones :
Asi que:
es la forma correcta de usarlo.
Cuando lo usó
/dev/tcp/74.125.225.19/80
en una tubería,bash
intentó ejecutar un comando llamado/dev/tcp/74.125.225.19/80
e informó un error porque ese archivo no existía.La capacidad de manejar
/dev/tcp/host/port
y/dev/udp/host/port
redirigir se agregó a labash
versión 2.04.Necesita compilar
bash
con la--enable-net-redirections
opción.fuente
/dev/tcp
se trata como un "archivo" y no un script.