如何使用命令行telnet客户端打开原始连接-如PuTTY?


8

我需要使用telnet与不是标准Telnet服务器的套接字服务器进行通信。我不想在数据中进行任何Telnet协商或任何形式的干扰。

在PuTTy中可以作为“原始模式”使用,而在Linux中我需要相同的功能。



我补充说,我需要一个命令行远程登录客户端(因此Linux上的Putty对我不起作用)。
伊甸园

我正在连接到MOXA产品,该产品是用于远程连接(旧产品的)串行端口的TCP服务器。它必须是原始的,以便所有击键将按原样发送。
伊甸园

基本上,我需要“类似于telnet”的功能,但没有协议。我也尝试过netcat(上面建议),但效果不佳-它处于行编辑模式,并且未传递诸如^ C之类的击键。
伊甸园

作为另一个指针,请看socat,它比netcat; 具有更多的功能。也许您可以利用它。
sr_

Answers:


11

使用netcat,它提供了命令行原始套接字,这是一个非常方便的实用程序,当不需要加密时,我经常使用它在服务器之间移动数据,例如:

服务器1

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

服务器2

# mysqldump -u root databaseName | gzip | nc Server1 1234

这是一个很棒的提示!但是,当我在MacOS的两个终端窗口之间尝试时,第一行出现了错误。我的nc手册页说,将-p与-l一起使用是错误的。当我省略-p时,它像冠军一样工作
RufusVS

5

有听起来愚蠢的风险,为什么不只使用PuTTY?如果您已经喜欢它提供的功能,请运行它。PuTTY可用于Linux或Windows

正如评论中已经指出的那样,telnet不是原始的-它希望遵循某些协议。


1
+1 Rory。Telnet不是原始的。在telnet> 提示上使用“设置选项” ,您将看到正在使用的协议。
Stephen Quan

腻子“ RAW”模式不是真正的RAW。当您按Enter键时,它将发送CR / LF。
eddyq

2

您可以使用telnet连接到任何端口,只要可以监听该端口并且不受防火墙阻止即可。

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

一切都会好起来的。但是,您必须知道连接另一端使用的协议,否则,这毫无意义。

请注意,telnet发送未加密的数据包。


5
当心:telnet似乎“原始”,但事实并非如此。即使有限制,也已经涉及某些协议级别。您想在这里实现什么?
Ouki 2012年

@Ouki ,肯定是TELNET 协议很复杂。如果未连接到TELNET服务器,则telnet 程序通常将恢复为原始操作模式。
vonbrand

0

很老了,但是我发现这可以用于MOXA单元:

stty raw && nc <ip> 23 && stty sane

0

这些年来仍然有意义。

这在的工作正常,在选项卡中~/.bash_aliases打开moxa没有本地回显的外壳程序:(参数是moxa端口号)

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

-1

使用此确切的行:

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

这样一来,您就可以通过Moxa与原始套接字进行连接,并在主机上获得命令行提示符。从那里,您可以轻松地Telnet或SSH到任何系统。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.