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

  • Break

    Break

    10 Aralık 2005
  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • TROPFEST

    TROPFEST

    27 Mart 2007