Kiedy próbuję uruchomić następujące polecenie:
echo -e "GET / HTTP/1.1\n\n" | /dev/tcp/74.125.225.19/80
Otrzymuję następujący komunikat o błędzie:
bash: /dev/tcp/74.125.225.19/80: No such file or directory
Następujące polecenie działa idealnie, więc problem dotyczy sposobu, w jaki korzystam /dev/tcp
:
echo -e "GET / HTTP/1.1\n\n" | nc 74.125.225.19 80
Jestem w Ubuntu 13.04, więc funkcja powinna być w moim systemie. Co ja robię źle? Jakie są zasady /dev/tcp
prawidłowego korzystania ?
Odpowiedzi:
Musisz go używać w przekierowaniach :
Więc:
jest właściwym sposobem korzystania z niego.
Podczas używania
/dev/tcp/74.125.225.19/80
w potokubash
próbowano uruchomić polecenie o nazwie/dev/tcp/74.125.225.19/80
i zgłosił błąd, ponieważ ten plik nie istniał.Możliwość obsługi
/dev/tcp/host/port
i/dev/udp/host/port
przekierowania została dodanabash
w wersji 2.04.Musisz skompilować
bash
z--enable-net-redirections
opcją.źródło
/dev/tcp
jest traktowany jako „plik”, a nie skrypt.