Saya ingin menguji koneksi klien dengan IMAP melalui SSL, HTTPS, dan protokol Internet berbasis teks aman lainnya melalui SSL / TLS, dengan cara yang sama saya akan menggunakan telnet atau netcat jika tidak terhubung melalui protokol yang aman. Apakah ada cara untuk mendapatkan telnet atau netcat melalui SSL / TLS seperti dengan pipa atau program alternatif?
62
Jawaban:
Tidak ada klien Telnet / Netcat - mereka adalah dua program yang terpisah, dan terdapat setidaknya 10 klien Telnet yang berbeda dan setidaknya 6 versi Netcat yang berbeda (netcat asli, netcat GNU, netcat OpenBSD, ncat ncat; lupa sisanya).
Alat yang disukai berasal dari perpustakaan TLS sendiri. Mereka mungkin sedikit bertele-tele.
GnuTLS memiliki alat klien TLS di Linux:
Gunakan
-s
untuk STARTTLS; Anda harus secara manual memasukkan perintah protokol yang diperlukan dan tekan CtrlDsaat siap.Mendukung IPv6, memvalidasi sertifikat server secara default.
OpenSSL memiliki alat klien TLS:
Ini tersedia untuk semua sistem operasi. STARTTLS didukung melalui
-starttls imap
atau-starttls smtp
opsi, dan program akan secara otomatis menegosiasikannya. (Meskipun itu membuang balasan server awal setelah melakukannya, tetapi biasanya baik-baik saja.)Hanya versi ≥ 1.1 yang mendukung IPv6.
Hanya versi ≥ 1.0.2 (IIRC) yang memvalidasi sertifikat server secara default; versi yang lebih lama memerlukan spesifikasi -CApath manual.
(Saya juga ingin memiliki alat untuk menguji NSS dan SChannel, tetapi tidak dapat menemukannya.)
Program juga menggunakan pustaka yang sama, tetapi mungkin memiliki tombol konfigurasi yang lebih sedikit. Beberapa bahkan melewatkan pemeriksaan sertifikat rekan secara default ...
socat :
mode readline dapat digunakan untuk kenyamanan:
STARTTLS tidak didukung.
ncat dari nmap mendukung TLS (tetapi tidak STARTTLS):
Beberapa klien Telnet, seperti paket telnet-ssl di Debian, juga mendukung TLS:
STARTTLS dapat diaktifkan menggunakan
starttls
dari Ctrl]menu escape.sumber
s_client
memiliki dukungan IPv6 dalam rilis 1.1.s_client
memiliki fitur "berguna" di mana baris yang dimulai dengan R atau Q diperlakukan sebagai perintah (lihat manual ). Gunakan-ign_eof
untuk menonaktifkan ini. Juga,s_client
akan berlanjut meskipun verifikasi gagal; Anda harus memeriksa bahwa isinya "Verifikasi kode pengembalian: 0 (ok)" dan berharap server tidak mencoba untuk menipu pesan ini. Lebih baik digunakangnutls-cli
jika memungkinkan.-verify_return_error
untuk itu.Anda mungkin ingin melihat openssl s_client , mis
sumber
Ya ada program yang disebut stunnel
ini memiliki file konfigurasi,
Anda memberi tahu port apa yang ingin Anda dengarkan, port apa untuk diteruskan.
ini berfungsi untuk sisi klien, atau sisi server, atau keduanya.
sehingga dapat mengubah server yang tidak mendukung ssl, menjadi server yang efektif.
atau klien yang tidak mendukung ssl, efektif menjadi yang tidak.
atau membuat klien dan server memiliki koneksi ssl.
sumber
Ada juga sclient ( git ) jika Anda memerlukan dukungan lintas platform (yaitu Windows).
Buat server lokal yang membuka tl untuk example.com
Buat permintaan ke example.com dengan telnet
sumber