SORU
7 Mart 2012, ÇARŞAMBA


Eğer bir bağlantı noktası bulmak için hızlı bir şekilde Linux üzerinde açık

İster bir liman bir bash script ne kadar sürede öğrenebilirim 445 sunucu dinleme/açık.

Bir kaç seçenek denedim, ama hızlı bir şey istiyorum:
1. lsof -i :445 (saniye Sürer)
2. netstat -an |grep 445 |grep LISTEN (saniye Sürer)
3. 5* *(geri gelmez)
4. nmap, netcat sunucuda kullanılamaz

İlk numaralandırma olmayan bir yol olduğunu bilmek güzel olacak ve bundan sonra greps.

CEVAP
7 Mart 2012, ÇARŞAMBA


Geçenlerde bulduğum bir sürpriz Bash doğal tcp connections as file descriptors destekler. Kullanmak için:

exec 6<>/dev/tcp/ip.addr.of.server/445
echo -e "GET / HTTP/1.0\n" >&6
cat <&6

0,1,2 stdin, stdout, ve stderr çünkü dosya tanımlayıcısı olarak 6 kullanıyorum. Bazen 5 Bash for child processes, 3,4,6,7,8, 9 ve güvenli olmalıdır yani tarafından kullanılır.

Aşağıda yorum başı olarak, bir dinleme için test etmek içinyerel sunucusenaryo:

exec 6<>/dev/tcp/127.0.0.1/445 || echo "No one is listening!"
exec 6>&- # close output connection
exec 6<&- # close input connection

Eğer biri dinliyorsa belirlemek için, geri döngü kullanarak bağlanmayı deneyin. Eğer başarısız olursa, bağlantı noktası kapalı ya da erişim yetkimiz yok. Daha sonra, bağlantıyı kapatın.

Kullanım durumunda, bir e-posta gönderme hatası script çıkmadan, ya da zorunlu hizmet gibi başlangıç için bu değiştirin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • amc

    amc

    21 EYLÜL 2005
  • Doug Bernards

    Doug Bernard

    7 Kasım 2007
  • Thom Hall

    Thom Hall

    24 Kasım 2006