Linux【7】-连接网络-4-1-telnet(查看端口是否启动)

一、简介

对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。一旦入侵者与远程主机建立了Telnet连接,入侵者便可以使用目标主机上的软、硬件资源,而入侵者的本地机只相当于一个只有键盘和显示器的终端而已。

telnet就是查看某个端口是否可访问。我们在搞开发的时候,经常要用的端口就是 8080。那么你可以启动服务器,用telnet 去查看这个端口是否可用。

Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

二、安装

先检查CentOS7.0是否已经安装以下两个安装包:telnet-server、xinetd。命令如下:

rpm -qa telnet-server
rpm -qa xinetd

1.1 安装telnet

查看可以安装的版本
yum list |grep telnet

yum install telnet-server.x86_64
yum install telnet.x86_64

1.2 安装xinetd

yum list |grep xinetd

yum install xinetd.x86_64

安装完成后,将xinetd服务加入开机自启动:

systemctl enable xinetd.service

将telnet服务加入开机自启动:

systemctl enable telnet.socket

1.3 重启服务

最后,启动以上两个服务即可:

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

systemctl start telnet.socket
systemctl start xinetd
(或service xinetd start)

三、案例

telnet 202.108.5.186 465

出现:

Escape character is '^]

这不是报错,这是说明你telnet 的端口是正常监听的。

“^”是Ctrl键的意思!

  1. 这个提示的意思是按Ctrl + ]会呼出telnet的命令行!
  2. telnet命令行出来后,就可以执行telnet命令了;
  3. 退出telnet命令行的名为quit。

四、讨论

4.1 查看某个服务器可以连接的端口

#!/bin/bash

BASEDIR=`dirname $0`
BASEDIR=`cd $BASEDIR;pwd`

result_dir=$BASEDIR/result

telnet_info=telnet_info.txt


#for line in `cat $BASEDIR/$telnet_info`
for line in `seq 0 70000`
do
#   ip=`echo $line | awk 'BEGIN{FS="|"} {print $1}'`
   ip='95.179.249.173'
#   port=`echo $line | awk 'BEGIN{FS="|"} {print $2}'`
   port=`echo $line | awk 'BEGIN{FS="|"} {print $1}'`

   echo "(sleep 1;) | telnet $ip $port  $result_dir/telnet_result.txt"
   (sleep 1;) | telnet $ip $port > $result_dir/telnet_result.txt
   successIp=`cat $result_dir/telnet_result.txt | grep -B 1 \] | grep [0-9] | awk '{print $3}' | cut -d '.' -f 1,2,3,4`
   if [ -n "$successIp" ]; then
      echo "$successIp|$port" >> $result_dir/telnet_alive.txt
   fi
done

cat $BASEDIR/$telnet_info $result_dir/telnet_alive.txt | sort | uniq -u > $result_dir/telnet_die.txt

4.1 验证端口

服务器A启动端口:

方法1

nc -l 44081

方法二

python -m SimpleHTTPServer 44081

连接服务A的端口

telnet 192.168.50.37 44081

参考资料

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn