Bagaimana saya bisa menggunakan klien telnet baris perintah untuk membuka koneksi mentah - seperti Putty?

8

Saya perlu menggunakan telnet untuk berbicara dengan server soket yang bukan server Telnet standar. Saya tidak ingin ada negosiasi atau campur tangan Telnet dalam bentuk data apa pun.

Ini tersedia sebagai 'mode baku' di Putty dan saya membutuhkan fungsi yang sama di Linux.

Eden
sumber
Saya menambahkan bahwa saya memerlukan klien telnet baris perintah (jadi Putty di Linux tidak bekerja untuk saya).
Eden
Saya terhubung ke produk MOXA yang merupakan server TCP untuk menghubungkan dari jarak jauh ke port serial (dari produk lawas). Itu harus mentah sehingga semua penekanan tombol akan dikirim apa adanya.
Eden
Pada dasarnya saya memerlukan fungsionalitas 'telnet-like' tetapi tanpa protokol. Saya juga mencoba netcat (disarankan di atas) tetapi itu tidak berfungsi dengan baik - itu dalam mode edit garis dan penekanan tombol seperti ^ C tidak lulus.
Eden
Sebagai penunjuk lain, lihatlah socat, ini lebih banyak fitur dari pada netcat; mungkin Anda bisa memanfaatkannya.
sr_

Jawaban:

11

Gunakan netcat, ia menyediakan soket raw baris perintah, utilitas yang sangat praktis, saya sering menggunakannya untuk memindahkan data antar server ketika enkripsi tidak diperlukan, misalnya:

Server1

# nc -l -p 1234 | zcat | mysql -u root databaseName

Server2

# mysqldump -u root databaseName | gzip | nc Server1 1234
Geoffrey
sumber
Ini tip yang luar biasa! Namun, ketika saya mencobanya di antara dua terminal windows pada MacOS, baris pertama error. Halaman manual saya untuk nc mengatakan kesalahan menggunakan -p dengan -l. Itu bekerja seperti juara ketika saya menghilangkan -p
RufusVS
5

Beresiko terdengar gila, mengapa tidak menggunakan Putty saja? Jika Anda sudah menyukai fungsi yang diberikannya, jalankan saja. Putty tersedia untuk Linux atau Windows

Seperti yang telah ditunjukkan dalam komentar, telnet tidak mentah - ia mengharapkan protokol tertentu untuk diikuti.

Rory Alsop
sumber
1
+1 Rory. Telnet tidak mentah. Gunakan 'setel opsi' pada telnet> prompt dan Anda akan melihat protokol beraksi.
Stephen Quan
Mode Putty "RAW" tidak benar-benar RAW. Ketika Anda menekan Enter, ia mengirim CR / LF.
eddyq
2

Anda dapat menggunakan telnet untuk terhubung ke port apa saja asalkan ada sesuatu yang mendengarkan port itu dan tidak diblokir oleh firewall.

telnet alt1.aspmx.l.google.com 25
telnet google.com 80

Semua akan bekerja dengan baik. Namun, Anda harus tahu protokol apa yang digunakan oleh ujung koneksi lain jika tidak, itu tidak ada gunanya.

Perhatikan bahwa telnet mengirimkan paket yang tidak dienkripsi.

Sardathrion - menentang penyalahgunaan SE
sumber
5
Hati-hati: telnet sepertinya "mentah", tetapi tidak. Sudah ada beberapa level protokol yang terlibat walaupun terbatas. Apa yang ingin Anda capai di sini?
Ouki
@ Ouki, protokol TELNET cukup rumit, tentu saja. Telnet 'Program biasanya akan kembali ke mode operasi mentah jika tidak terhubung ke server TELNET.
vonbrand
0

Sangat tua, tetapi saya menemukan ini berfungsi untuk unit MOXA:

stty raw && nc <ip> 23 && stty sane
smp
sumber
0

Masih relevan setelah bertahun-tahun.

Ini berfungsi dengan baik di ~/.bash_aliases, membuka moxashell di tab tanpa echo lokal: (parameter adalah nomor port moxa)

function moxat(){
  mate-terminal --tab --title="moxa1 $1" -e "bash -c 'stty raw -echo && \ 
  nc <ip> $1 && stty sane'" 
}
OMR
sumber
-1

Gunakan baris persis ini:

sudo socat tcp-l:2023,reuseaddr,fork exec:/bin/login,pty,setsid,setpgid,stderr,ctty

Itu akan memungkinkan Anda terhubung dengan soket mentah dari Moxa dan mendapatkan prompt baris perintah pada mesin host. Dari sana Anda dapat Telnet atau SSH sesuka hati ke sistem apa pun dengan mudah.

Pyrofer
sumber