Linux下使用telnet实现TCP连接 (linux telnet tcp)

在计算机网络通信中,TCP(Tranission Control Protocol)是一种可靠的传输协议。其中,TCP连接是指通过TCP协议建立起的一种虚拟连接。而telnet就是一种TCP协议。

本文将介绍在Linux系统下通过telnet实现TCP连接的方法。这些连接可以用于连接远程设备、远程执行命令等。正是基于这些实用性,telnet成为了TCP连接的重要工具之一。

一、查看telnet是否安装

在使用telnet之前,我们需要先检查系统中是否有安装telnet。我们可以在终端中输入以下命令来检查telnet是否已安装:

$ yum list | grep telnet

如果显示结果显示有“telnet”这个软件,则表示已安装。如果没有安装,则可以通过以下命令安装:

$ yum -y install telnet

二、执行telnet连接

在检查并确保telnet已安装后,我们可以使用telnet连接到其他计算机或设备。

下面是一个简单的telnet连接命令示例,以连接本地主机为例:

$ telnet 127.0.0.1

在连接成功后,我们将看到类似以下内容:

Trying 127.0.0.1…

Connected to 127.0.0.1.

Escape character is ‘^]’.

这一结果表明我们已经成功地连接到了本地主机,现在我们可以开始输入命令了。在本地主机上,我们可以使用以下命令来测试telnet运作是否正常:

$ telnet localhost 80

这个命令将连接到本地服务器的80端口,如果我们成功连接,将看到以下内容:

Trying 127.0.0.1…

Connected to localhost.

Escape character is ‘^]’.

GET / HTTP/1.0

这表示我们正在请求本地服务器根路径下的内容。可以使用其他命令测试telnet和服务器的连接。

三、端口扫描

telnet还可以用于端口扫描。我们可以通过telnet测试服务器端口是否开放。通常,开放的端口将响应标准的“欢迎消息”,而未开放的端口将被拒绝连接。

以下为示例:

$ telnet 127.0.0.1 22

Trying 127.0.0.1…

Connected to 127.0.0.1.

Escape character is ‘^]’.

SSH-2.0-OpenSSH_7.4

如果连接到的端口是SSH端口,则服务器将响应SSH版本信息。这意味着服务器上存在SSH协议且端口已打开。如果连接请求没有响应或者被拒绝,则表示该端口未打开或者被阻止。

四、退出telnet

我们需要知道如何退出telnet连接。在连接完成后,我们可以按下“Ctrl + ]”组合键,然后输入“quit”命令,这样就会立即断开与服务器的连接。

以下是示例:

$ telnet 127.0.0.1

Trying 127.0.0.1…

Connected to 127.0.0.1.

Escape character is ‘^]’.

^[^]

telnet> quit

Connection closed.

结论

通过以上介绍,我们了解了如何在Linux系统下使用telnet实现TCP连接。通过telnet连接,我们可以轻松地访问远程计算机或设备,并进行管理和远程处理。

此外,我们还介绍了如何使用telnet进行端口扫描,以查看服务器的端口是否打开。通过这些方法,我们可以更好地管理和保护计算机网络及相关系统。

相关问题拓展阅读:

如何在centos linux下启用telnet

一、安装telnet

1、检测telnet-server的rpm包是否安装

# rpm -qa telnet-server 

若无输出内容,则表示没有安装。出于安全考虑telnet-server.rpm是默认没有安装的,而telnet的客户端是标配。即下面的软件是默认安装的。

若未安装,则安装telnet-server,否则忽略此步骤

#yum install telnet-server

3、检测telnet的rpm包是否安装

# rpm -qa telnet 

telnet-0.17-47.el6_3.1.x86_64

4、若未安装,则安装telnet,否则忽略此步骤

# yum install telnet

二、安装xinetd服务

由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd 。

xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。telnet服务就是通过xinetd服务来管理的,所以在安装telnet服务之前需要先安装xinetd服务。

网页链接

 一起学习linux

1、首先查看是否安装xinetd服基物务

# rpm -qa | grep xinetd

2、若没有安装,使用yum命令进行安装

# yum install -y xinetd包

3、安装完成之后就可以启动了

#service xinetd restart 

三、注意点及错误的解决

1、若xinetd未安装,则安装。

2、更改配置文件/etc/xinetd.d/telnet

若此文件不存在,则创建这个文件。将其中disable=yes改为disable=no或注释掉。即改为如下:

# default: on

# description: The telnet server serves telnet sessions; it uses \

#unencrypted username/password pairs for authentication.

service telnet

{

flags= REUSE

socket_type     = stream

wait= no

user= root

server= /usr/in/in.telnetd

log_on_failure  += USERID

#disable  = yes猛冲     【将disable=yes行前加#注释搏知液掉,或者把yes改为no】

}

3、使用root登录

telnet 默认的情况之下不允许 root 以 telnet 进入 Linux 主机,在普通用户telnet进入系统之后,在切换到root用户就可以使用root用户了。如果非要使用root登录,可以使用修改securetty文件。

console 

。。。

# below is added

pts/1 

pts/2 

pts/3 

pts/4 

pts/5 

pts/6 

pts/7 

pts/8 

pts/9 

pts/10 

pts/11 

增加pts/1…pts/11。

一般不建议直接用root用户远程通过telnet登陆系统,因为telnet在数据传输过程采用明文方式,如果数据包被人截获,将会很容易获取root用户的登陆口令;还是建议以普通用户通过telnet远程登陆,然后su到root,这样相对比较安全。如果非要用root用户远程连接,建议采用SSH。

4、修改telnet端口

修改文件/etc/services将文件中

…  

telnet 23/tcp  

telnet 23/udp  

…  

修改为

telnet 8902/tcp  

telnet 8902/udp  

重启telnet服务即可。

1. 切换至root用户;

2. 如州圆尘果Linux没有安装telnet服务需要先安装,安装过开通即可;

3. 检测telnet的rpm包是否安装

# rpm -qa telnet

telnet-0.17-48.el6.x86_64

#

4. 安装telnet安装包:

# rpm -ivh xinetd-2.3.14-34.el6.x86_64.rpm

warning: xinetd-2.3.14-34.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing… ###########################################

package xinetd-2:2.3.14-39.el6_4.x86_64 (which is newer than xinetd-2:2.3.14-34.el6.x86_64) is already installed

file /usr/in/xinetd from install of xinetd-2:2.3.14-34.el6.x86_64 conflicts with file from package xinetd-2:2.3.14-39.el6_4.x86_64

#

5. 修改telnet服务配置文件

vi /etc/xinetd.d/telnet

service telnet

{

disable = yes

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/in/in.telnetd

log_on_failure += USERID

}

将disable=yes改为disable=no

注意册禅:安装telnet-server服务后腔差,系统才会有/usr/in/in.telnetd文件

6.重启telnet服务

#service xinetd restart

7. 测试是否可以,若果不行,检查防火墙是否关闭

# telnet 127.0.0.1

Trying 127.0.0.1…

Connected to 127.0.0.1.

Escape character is ‘^>’.

CentOS release 6.4 (Final)

Kernel 2.6.32-358.el6.x86_64 on an x86_64

login:

telnet是一个远程登录协议,采用客户机/服务器处理方式,运行端口号为tcp23,telnet为远程登录和访问linux系统提供了一种快捷的方式,但由于telnet是采用明文的方式进行网络数据(包括用户账户和密码)传输的,存在较大的安全隐患,目前已逐渐被SSH所取代.安装telnet服务,因为telnet和xinetd之间存在依赖关系,所以安装telnet服务端之前必须安装xinetd# rpm -ivh xinetd-2.3.14-39.el6_4.x86_64.rpm Preparing… ########################################### 1:xinetd ########################################### 然后安装telnet服务端(客户端一般默认已经安装)# rpm -ivh telnet-server-0.17-47.el6_3.1.x86_64.rpm Preparing… ########################################### 1:telnet-server ########################################### telnet服务的启动telnet服务管理由xinetd服务管理器负责,xinetd是一个守护进程,用于处理对各种服务的请求.xinetd服务的配拿没置文件在/etc/xinetd.d/衡高telnet因为telnet服务器默认情况下并不会被启动,要启动telnet服务可以使用chkconfig命令启动telnet服务# chkconfig –add telnet# chkconfig telnet on# service xinetd restartStopping xinetd: Starting xinetd: 也可以通过编辑xinetd的配置文件/etc/xinetd.d/telnet,找到disable = yes并将其更改为disable = no,然后保存退出# default: on# description: The telnet server serves telnet sessions; it uses \# unencrypted username/password pairs for authentication.service telnet{disable = no //将yes更改为noflags = REUSEsocket_type = streamwait = nouser = rootserver = /usr/in/in.telnetdlog_on_failure += USERID}执行以下命令启动telnet服务# service xinetd startStarting xinetd: telnet基本配置# default: on# description: The telnet server serves telnet sessions; it uses \# unencrypted username/password pairs for authentication.service telnet{disable = noflags = REUSEsocket_type = streamwait = nouser = rootserver = /usr/in/in.telnetdlog_on_failure += USERIDinstances = 5 /咐敏尺/更大连接数only_from = 192.168.1.1 //允许登录的IP地址 no_access=192.168.1.1 //拒绝登录的IP地址access_time=8:00-12:00 //允许登录的时间段}用windows平台下登录远程服务器欢迎使用 Microsoft Telnet ClientEscape 字符为 ‘CTRL+>’Microsoft Telnet> h命令可能是缩写。支持的命令为:c – close 关闭当前连接d – display 显示操作参数o – open hostname 连接到主机(默认端口 23)。q – quit 退出 telnetset – set 设置选项(键入 ‘set ?’ 获得列表)sen – send 将字符串发送到服务器st – status 打印状态信息u – unset 解除设置选项(键入 ‘set ?’ 获得列表)?/h – help 打印帮助信息Microsoft Telnet>使用命令登录远程服务器telnet hostname/ip/dcC:\telnet 192.168.1.1默认不允许root用户登录,所以新建一个用户test# useradd test# passwd testChanging password for user test.New password: BAD PASSWORD: it is too simplistic/systematicBAD PASSWORD: is too simpleRetype new password: passwd: all authentication tokens updated successfully.用test用户登录CentOS release 6.5 (Final)Kernel 2.6.32-431.el6.x86_64 on an x86_64login: testPassword:$登陆成功后,用su命令切换到root$ su – rootPassword:#设置直接用root用户登录telnet,将/etc/securetty更改名称# mv /etc/securetty /etc/securetty.bak用root用户登录CentOS release 6.5 (Final)Kernel 2.6.32-431.el6.x86_64 on an x86_64login: rootPassword:Last login: Sun May 3 03:14:04 from 192.168.1.222#

一.CentOS下查看系统是否已安装telnet

rpm -qa | grep telnet

telnet-0.17-48.el6.x86_64

telnet-server-0.17-48.el6.x86_64

telnet 是挂在 xinetd 底下的,所以同时查看是否安装了xinetd服务

rpm -qa | grep xinetd

xinetd-2.3.14-39.el6_4.x86_64

两者都没有的安装的话,yum安装以下服务

yum install xinetd telnet telnet-server -y

二.配置telnet

设置开机启动

#chkconfig telnet on

修改配置文件

vi /etc/xinetd.d/telnet

将”disable= yes”改成” disable=no”

三、激活服务

重启xinetd服务

service xinetd restart

或者/etc/rc.d/init.d/xinetd restart

四.iptables防火墙会阻止telnet,所以需要在iptables允许,用如下命令

当你启动telnet服务后,你可以用友培netstat –tunlp命令来查看telnet服务所使用的端口,可以发现有23。使用下面命令开启这些端口:

iptables -I INPUT -p tcp –dport 23 -jACCEPT

iptables -I INPUT -p udp –dport 23 -jACCEPT

service iptables save //保存

service iptables restart //重启防好山唯火墙

或者来点狠的!!关闭防火墙!

service iptables stop

五.使用telnet命令

格式: telnet ip prot

六.其他常用的telnet命令功能描述:

close 关闭当前连接

logout 强制退出远程用户并关闭连接

display 显示当前操作的参数

mode 试图进入命令行方式或字符方式

open 连接到某一站点

quit 退出

set 设置当前操作的参唯返数

unset 复位当前操作参数

status 打印状态信息

toggle 对操作参数进行开关转换

slc 改变特殊字符的状态

auth 打开/关闭确认功能z挂起

telnetsend 发送特殊字符

telnetenviron 更改环境变量?显示帮助信息

七.错误解决

如果使用telnet命令有以下提示:

-bash: telnet: command not found

关于linux telnet tcp的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux下使用telnet实现TCP连接 (linux telnet tcp)