/ dev / tcp bulunamadı


21

Aşağıdaki komutu çalıştırmayı denediğimde:

echo -e "GET / HTTP/1.1\n\n" | /dev/tcp/74.125.225.19/80

Aşağıdaki hata iletisini alıyorum:

bash: /dev/tcp/74.125.225.19/80: No such file or directory

Aşağıdaki komut mükemmel çalışır, bu yüzden sorun nasıl kullandığımı içerir /dev/tcp:

echo -e "GET / HTTP/1.1\n\n" | nc 74.125.225.19 80

13.04 Ubuntu'dayım, bu yüzden yetenek sistemimde olmalı . Neyi yanlış yapıyorum? /dev/tcpDoğru kullanmak için kurallar nelerdir ?


Yanıtlar:


34

Yeniden yönlendirmelerde kullanmanız gerekir :

Bash, aşağıdaki tabloda açıklandığı gibi, yeniden yönlendirmelerde kullanıldığında, bazı dosya adlarını özel olarak işler:

...

/ Dev / tcp / konak / port

Ana bilgisayar geçerli bir ana bilgisayar adı veya Internet adresiyse ve bağlantı noktası bir tam sayı bağlantı noktası numarası veya hizmet adıysa, Bash karşılık gelen TCP soketini açmaya çalışır.

Yani:

printf "GET / HTTP/1.1\n\n" > /dev/tcp/74.125.225.19/80

onu kullanmak için doğru yoldur.

Bir /dev/tcp/74.125.225.19/80boruda kullandığınızda , bu dosya bulunmadığından bashbir komut adlı bir komut çalıştırmayı denedi /dev/tcp/74.125.225.19/80ve bir hata bildirdi.


İşleme /dev/tcp/host/portve /dev/udp/host/portyeniden yönlendirme yeteneği, bash2.04 sürümüne eklenmiştir .

Seçeneği bashile derlemeniz gerekir --enable-net-redirections.


Gördüğüm kadarıyla /dev/tcp"dosya" olarak kabul edilir ve bir komut dosyası değil.
IQAndreas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.