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

  • Commander Chalkboard

    Commander Ch

    20 Ocak 2014
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009
  • Submissions101

    Submissions1

    23 ŞUBAT 2007