Apakah ada beberapa utilitas dasar untuk membuka port TCP jaringan tertentu pada mesin saya?
Saya perlu menguji bagaimana program saya berurusan dengan port dalam keadaan mendengarkan.
Apakah ada beberapa utilitas dasar untuk membuka port TCP jaringan tertentu pada mesin saya?
Saya perlu menguji bagaimana program saya berurusan dengan port dalam keadaan mendengarkan.
Jawaban:
netcat harus melakukan apa yang Anda inginkan. Minta ia mendengarkan mesin Anda dan gema hal-hal untuk STDOUT:
nc -4 -k -l -v localhost 1026
ketika Anda ingin menutup ketika koneksi berakhir, jangan gunakan -k
Kamu punya
TCP Dengarkan: http://www.allscoop.com/tcp-listen.php
Port Peeker: http://www.linklogger.com/portpeeker.htm
Utilitas baris perintah Microsoft, Portqry.exe
Coba iperf. Ada versi untuk Windows. Anda bisa menjalankannya seperti iperf -s -p 1234
, dan itu akan mendengarkan pada port 1234. Anda kemudian dapat terhubung ke port itu dari mesin jarak jauh dengan melakukan sesuatu seperti:
telnet 192.168.1.1 1234
iperf -c 192.168.1.1 1234
portqry -n 192.168.1.1 -e 1234
Anda harus mendapatkan iperf.exe
atau portqry.exe
untuk dua yang terakhir. iPerf tidak sepenuhnya dirancang untuk tugas ini, tetapi bagus untuk mengatasi masalah konektivitas, ketersediaan bandwidth, tautan pengujian stres, dll.
Sepertinya utilitas ini akan melakukan apa yang Anda inginkan, bahkan menampilkan data yang diterima jika Anda suka: http://www.drk.com.ar/builder.php
Ini memiliki GUI daripada hanya baris perintah, keuntungan bagi sebagian orang.
The netpipes alat kran dan selang selalu membantu saya, menyederhanakan stdin
dan stdout
untuk program saya untuk menggunakan melalui jaringan.
Mirip dengan netcat .
Deskripsi Ubuntu:
Paket netpipes membuat aliran TCP / IP dapat digunakan dalam skrip shell. Itu juga dapat menyederhanakan kode klien / server dengan memungkinkan programmer untuk melewatkan semua bit pemrograman yang membosankan terkait dengan soket dan berkonsentrasi pada penulisan filter, atau layanan lainnya.
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 - .
Ini adalah penggunaan sempurna untuk Wireshark , penganalisa paket dan protokol yang berada di antara tumpukan jaringan Windows / Linux.
Ini akan memungkinkan Anda untuk melihat semua paket TCP / UDP yang diterima oleh seluruh mesin Anda, terlepas dari porta. Anda juga dapat memberitahu program untuk memfilter hanya paket yang dikirim melintasi port tertentu untuk analisis lebih lanjut. Keuntungan bagi Wireshark adalah menyediakan pesan yang sangat terperinci untuk setiap paket - sumber, tujuan, port, alamat MAC, data, tanggal, checksum, dll. Alat yang sangat berguna (dan gratis!).
TCP Listen adalah jawaban TERBAIK IMHO. Saya melihat dan menyukai TCP Builder, tetapi Anda MEMBUTUHKAN hak admin untuk menjalankan aplikasi itu, Anda TIDAK membutuhkannya dengan pendengar TCP, dan Anda juga perlu menginstal TCP Builder, atau unzip dan menyalin banyak file, sedangkan TCP Listener adalah 1 EXE, tidak lebih.
TCP Listener juga tidak memerlukan hak admin, dan ketika saya AV memindai tidak ada yang mengatakan itu berbahaya. Builder memiliki 1 AV di Virustotal mengatakan itu buruk, tetapi ternyata positif palsu (saya harap) :)
Sementara saya membuat Builder menjalankan sans hak admin, ia tidak dapat mengaitkan soket sementara Pendengar bisa. Setelah saya melakukan semua pengujian, saya hanya bisa menghapus 1 file Listener dan semuanya seperti sebelumnya.
Netcat pasti menyenangkan, tetapi saya tidak menemukan versi yang bisa digunakan pada server 2012 atau yang lebih baru. Jadi, untuk sepenuhnya menguji apakah firewall jaringan dan firewall lokal memungkinkan port TCP tertentu untuk terhubung, pendengar TCP sepertinya merupakan alat terbaik untuk pekerjaan ini.
Nikmati!
Anda dapat menggunakan versi Windows netcat :
nc -l -v localhost -p 7
Saya suka netcat di Windows, tetapi mengunduh dan menginstal hal-hal dari Internet tidak selalu memungkinkan. Mungkin Anda sedang menyiapkan server produksi, dan Anda ingin menguji aturan firewall Anda sebelum (dan tanpa) menginstal apa pun.
Sebagian besar (semua?) Server Windows memiliki kompiler JScript.net. Anda dapat menulis file batch Windows biasa yang juga merupakan program JScript.net yang valid, sebuah program polyglot .
tl; dr;
polyglot-listener.bat 1234
untuk mendengarkan di port 1234
.Idenya adalah menemukan jsc.exe
executable di sistem Anda:
for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
set "jsc=%%v"
)
Dan menggunakannya untuk mengkompilasi file batch.
"!jsc!" /nologo /out:"%APPDATA%\listener.exe" "%~dpsfnx0"
File batch berisi kode JScript.Net dasar yang membuat soket sinkron, dengarkan, terima koneksi, dan lepas semua yang ada padanya:
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();
}
Program yang dikompilasi akan disimpan sebagai %APPDATA%\listener.exe
. Itu dapat berjalan sendiri, disalin pada server, tetapi kompilasi dari file batch polyglot akan berfungsi terlepas dari rintangan keamanan apa pun yang menghalangi Anda.
TCPView dari Sysinternals toolkit memberikan gambaran yang sangat bagus.