Kita dapat menggunakan yang berikut untuk menguji port VIA telnet; dalam contoh berikut ini kami menguji port 6667:
[root@kafka03 ~]# telnet kafka02 6667
Trying 103.64.35.86...
Connected to kafka02.
Escape character is '^]'.
^CConnection closed by foreign host
Karena pada beberapa mesin kita tidak dapat menggunakan telnet (untuk alasan internal) apa saja alternatif untuk memeriksa port, sebagai telnet?
linux
networking
curl
telnet
yael
sumber
sumber
telnet
utilitas mematikan perilaku protokol jika port diberikan pada baris perintah. Maka itu berperilaku sepertinetcat
, hanya dengan deteksi garis akhir.Jawaban:
Jika menggunakan Bash Shell, maka Anda dapat menggunakan fitur-fiturnya untuk memeriksa apakah port terbuka atau tertutup:
Perhatikan bahwa jika server tidak merespons setelah 1 detik batas waktu tercapai, perintah antara
'
terputus, dan dengan demikian tidak ada yang dicetak.sumber
127.0.0.1
, yang membuatnya terlihat hanya berfungsi dengan loopback.(timeout 1 bash -c '</dev/tcp/www.google.com/444 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
tidak mencetak apa pun untuk saya.(timeout 1 bash -c '</dev/tcp/www.google.com/444' && echo PORT OPEN || echo PORT CLOSED) 2>/dev/null
bekerja seperti yang diharapkan (mencetak PORT TUTUP). Perhatikan lokasi'
.netcat adalah salah satu opsi.
-z
= set nc untuk hanya memindai daemon yang mendengarkan, tanpa benar-benar mengirim data apa pun kepada mereka-v
= mengaktifkan mode verbosesumber
nc
berperilaku sepertitelnet
.Standar emas tidak diragukan lagi
nmap
( nmap.org ), tetapi biasanya membutuhkan root untuk "hasil terbaik". Namun, binari mandiri tersedia dan dimungkinkan untuk menjalankannya sebagai pengguna yang tidak terjangkau, hanya dengan kemampuan terdegradasi. Misalnya, alih-alihsyn
pemindaian sembunyi-sembunyi (-sS
), ia kembali ke pemindaian koneksi TCP standar (-sT
). Ini secara fungsional setara dengan netcat, tetapi dengan multi-host yang bagus, kemampuan dipercepat yang dimilikinya.Sebuah contoh:
sumber
Jika Perl adalah suatu pilihan, Anda dapat menggunakan
IO::Socket
modulnya untuk menguji koneksi ke host dan port tertentu; skrip di bawah hard-codes TCP sebagai protokol (yang akan digunakan oleh telnet):Contoh keluaran dari port tertutup:
Contoh keluaran dari port terbuka:
sumber
File perangkat / dev / tcp dan / dev / udp dapat digunakan sebagai ganti telnet. Contoh: echo 0> /dev/tcp/103.64.35.86/6667. Kemudian periksa status keluar menggunakan #echo $? . Jika status keluar adalah 0 maka port terbuka. Jika status keluar bukan nol maka port ditutup. Untuk memeriksa paket udp, gunakan echo 0> /dev/udp/103.64.35.86/6667.
sumber
ini adalah perintah lain yang bisa Anda gunakan.
sumber