Lorsque j'essaie d'exécuter la commande suivante:
echo -e "GET / HTTP/1.1\n\n" | /dev/tcp/74.125.225.19/80
Je reçois le message d'erreur suivant:
bash: /dev/tcp/74.125.225.19/80: No such file or directory
La commande suivante fonctionne parfaitement, donc le problème concerne la façon dont j'utilise /dev/tcp
:
echo -e "GET / HTTP/1.1\n\n" | nc 74.125.225.19 80
Je suis dans Ubuntu 13.04, donc la capacité devrait être sur mon système. Qu'est-ce que je fais mal? Quelles sont les règles d'utilisation /dev/tcp
correcte?
Réponses:
Vous devez l'utiliser dans les redirections :
Donc:
est la bonne façon de l'utiliser.
Lorsque vous l'avez utilisé
/dev/tcp/74.125.225.19/80
dans un canal, avezbash
tenté d'exécuter une commande nommée/dev/tcp/74.125.225.19/80
et signalé une erreur car ce fichier n'existait pas.La possibilité de gérer
/dev/tcp/host/port
et/dev/udp/host/port
de rediriger a été ajoutée à labash
version 2.04.Vous devez compiler
bash
avec--enable-net-redirections
option.la source
/dev/tcp
est donc traité comme un "fichier" et non comme un script.