Makinemde belirli bir ağ TCP bağlantı noktasını açmak için bazı temel yardımcı programlar var mı?
Programımın dinleme durumundaki bağlantı noktalarıyla nasıl ilgilendiğini test etmem gerekiyor.
Makinemde belirli bir ağ TCP bağlantı noktasını açmak için bazı temel yardımcı programlar var mı?
Programımın dinleme durumundaki bağlantı noktalarıyla nasıl ilgilendiğini test etmem gerekiyor.
Yanıtlar:
netcat ne istersen yapmalı. Makinenizi dinlemenizi ve STDOUT şeylerini yankı almanızı sağlar:
nc -4 -k -l -v localhost 1026
Bağlantı bittiğinde kapanmasını istediğinizde, -k kullanmayın.
Var
TCP Dinle: http://www.allscoop.com/tcp-listen.php
Port Peeker: http://www.linklogger.com/portpeeker.htm
Microsoft'un Komut Satırı Yardımcı Programı Portqry.exe
İperf'i dene. Windows için bir sürümü var. Sadece çalıştırabilir iperf -s -p 1234
ve 1234 numaralı bağlantı noktasında dinleyecektir. Daha sonra böyle bir şeyi yaparak uzaktaki bir makineden o bağlantı noktasına bağlanabilirsiniz:
telnet 192.168.1.1 1234
iperf -c 192.168.1.1 1234
portqry -n 192.168.1.1 -e 1234
Almak iperf.exe
veya portqry.exe
son iki için gerekecek . iPerf kesinlikle bu görev için tasarlanmamıştır, ancak bağlantı, bant genişliği kullanılabilirliği, stres testi bağlantıları, vb. sorunlarını gidermek için mükemmeldir.
Görünüşe göre bu yardımcı program tam olarak istediğinizi yapar, hatta isterseniz alınan verileri görüntülüyor: http://www.drk.com.ar/builder.php
Sadece bir komut satırı yerine bir GUI'ye sahiptir, bazıları için bir avantajdır.
Netpipes araçları musluk ve hortum hep basitleştirerek, beni iyi hizmet etmiş stdin
ve stdout
benim programları ağ üzerinden kullanmak için.
Netcat'e benzer .
Ubuntu açıklaması:
Netpipes paketi, TCP / IP akışlarını kabuk komut dosyalarında kullanılabilir kılar. Ayrıca, programcının soketlerle ilgili sıkıcı programlama bitlerini atlamasına ve bir filtre veya başka bir servis yazmaya konsantre olmasına izin vererek istemci / sunucu kodunu basitleştirebilir.
EXAMPLES
This creates a TCP-IP socket on the local machine bound to port 3000.
example$ faucet 3000 --out --verbose tar -cf - .
Every time some process (from any machine) attempts to connect to port 3000 on this machine the faucet program will fork(2) a process and the child
will exec(2) a
tar -cf - .
Bu, Windows / Linux ağ yığını arasında oturan bir paket ve protokol analizörü olan Wireshark için mükemmel bir kullanımdır .
Bağlantı noktasından bağımsız olarak, tüm makineniz tarafından alınan tüm TCP / UDP paketlerini görüntülemenizi sağlar. Programa, daha fazla analiz için yalnızca belirli bir bağlantı noktasından gönderilen paketleri filtrelemesini de söyleyebilirsiniz. Wireshark'ın avantajı, her paket için kaynak, hedef, bağlantı noktası, MAC adresleri, veriler, tarihler, sağlama toplamları, vb. İçin çok ayrıntılı mesajlar sağlamasıdır. Çok kullanışlı (ve ücretsiz!) Bir araçtır.
TCP Dinle, en iyi cevap IMHO'dur. TCP Builder'a baktım ve beğendim, ancak bu uygulamayı çalıştırmak için yönetici haklarına ihtiyacınız var, TCP dinleyicisine ihtiyacınız yok ve ayrıca TCP Builder'ı yüklemeniz veya bir grup dosyayı açıp kopyalamanız gerekiyor, oysa TCP Listener 1 EXE, daha fazlası değil.
TCP Dinleyici de yönetici haklarına ihtiyaç duymuyordu ve AV taradığımda hiçbir şey kötü amaçlı olmadığını söyledi. Oluşturucu Virustotal 1 AV vardı kötü olduğunu söyledi, ama yanlış bir pozitif olduğu ortaya çıktı (umarım) :)
Builder'ın sans yönetici haklarını kullanmasını sağlamakla birlikte, Dinleyici yapabiliyorken soketi bağlayamadı. Tüm testlerimi yaptıktan sonra, Listener'ın 1 dosyasını silebildim ve hepsi daha önceydi.
Netcat iyi olurdu, ancak 2012 veya sonraki bir sunucuyla çalışacak bir sürüm bulamadım. Bu nedenle, ağ güvenlik duvarının ve yerel güvenlik duvarlarının belirli TCP bağlantı noktalarının bağlanmasına izin verip vermediğini tam olarak test etmek için, TCP dinleyicisi bu iş için en iyi araç gibi görünüyor.
Keyfini çıkarın!
Netcat'in Windows sürümünü kullanabilirsiniz :
nc -l -v localhost -p 7
Windows'ta netcat'ı seviyorum, ancak Internet'ten bir şeyler indirmek ve yüklemek her zaman mümkün olmuyor. Belki bir üretim sunucusu kuruyorsunuz ve güvenlik duvarı kurallarınızı herhangi bir şey yüklemeden (ve eklemeden) test etmek istiyorsunuz.
Çoğu (tümü?) Windows sunucusu bir JScript.net derleyicisine sahiptir. Aynı zamanda geçerli bir JScript.net programı olan bir polyglot programı olan düz eski Windows toplu iş dosyasını yazabilirsiniz .
tl; dr;
polyglot-listener.bat 1234
Bağlantı noktasında dinlemek için yazın 1234
.Buradaki fikir, jsc.exe
sisteminizde yürütülebilir dosyayı bulmaktır :
for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
set "jsc=%%v"
)
Ve toplu iş dosyasını derlemek için kullanın.
"!jsc!" /nologo /out:"%APPDATA%\listener.exe" "%~dpsfnx0"
Toplu iş dosyası, senkronize bir soket oluşturan, dinleyen, bağlantıyı kabul eden ve ona gelen her şeyi bırakan temel JScript.Net kodunu içerir:
listener.Bind(localEndPoint);
listener.Listen(10);
// Start listening for connections.
while (true) {
var data:byte[] = new byte[1024];
Console.WriteLine("Waiting for a TCP connection on {0}:{1}...", ipAddress, port);
var handler = listener.Accept();
Console.WriteLine("Connected to {0}", handler.RemoteEndPoint);
try {
// An incoming connection needs to be processed.
while (handler.Receive(data) > 0);
} finally {
Console.WriteLine("Disconected\n");
}
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
Derlenmiş program olarak kaydedilecektir %APPDATA%\listener.exe
. Kendi başına çalıştırabilir, bir sunucuya kopyalanabilir, ancak poliglot toplu iş dosyasından derleme, yolunuzdaki güvenlik engellerinden bağımsız olarak çalışacaktır.
Sysinternals araç setinden TCPView çok hoş bir genel bakış sunar.