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
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.
Nasıl Linux bir süreç belirli bir bağl...
Nasıl bir bağlantı noktası Windows ser...
Bir şekilde hızlı, Visual Studio 2010 ...
Bir şekilde/Eclipse bütün bir proje üz...
C#, nasıl eğer bir TCP bağlantı noktas...