本章内容主要通过实验了解在Linux下如何通过telnet和nc命令来测试远程主机上端口是否开放。注意一点:telnet只能测试TCP端口,而nc即可测试tcp端口,也能测试udp端口。telnet依赖于xinetd守护进程,xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。有兴趣的单独去了解,总之这里要提xinetd就是因为telnet要用到它如此而已。

1. 安装telnet telnet-server xinetd

[root@ftp ~]# yum install -y telnet xinetd telnet-server

2. 检查telnet是否安装

3. 执行vim /etc/xinetd.d/telnet,对telnet配置文件进行修改,将disable参数为no来启动telnet服务。

注:如telnet文件不存在,则通过vim创建,将以下内容复制并粘贴至其中。

service telnet

{

  flags           = REUSE

  socket_type     = stream

  wait            = no

  user            = root

  server          =/usr/sbin/in.telnetd

  log_on_failure  += USERID

  disable         = no

}

4. 启动telnet和xinetd服务

[root@ftp xinetd.d]# systemctl restart xinetd.service

[root@ftp xinetd.d]# ps -ef | grep xinetd

5. 使用telnet测试NTP服务器123 udp和22 tcp端口是否开启

[root@ftp xinetd.d]# telnet 192.168.147.150 123

Trying 192.168.147.150...

telnet: connect to address 192.168.147.150: No route to host

注:通过上述实验证明,telnet不能测试udp端口的连通性。

测试22端口

真机测试

注:通过上述实验证明,telnet可以测试tcp端口的连通性。

6. 安装nc工具

yum install –y nc

7. 使用nc –z –v测试TCP端口的连通性

语法:nc –z –v ip地址 tcp端口号

     7.1 使用命令nc –z –v 192.168.147.150 22,测试SSH服务TCP端口22。

     [root@ftp xinetd.d]# nc -z -v 192.168.147.150 22

     Ncat: Version 7.50 ( https://nmap.org/ncat )

     Ncat: Connected to 192.168.147.150:22.

     Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.

8. 使用nc -z -v -u来测试udp端口的连通性

语法:nc –z –v –u ip地址 udp端口号

    8.1 使用命令nc –z –v -u 192.168.147.150 123,测试NTP服务UDP端口123。

    [root@ftp xinetd.d]# nc -z -v -u 192.168.147.150 123

    Ncat: Version 7.50 ( https://nmap.org/ncat )

    Ncat: Connected to 192.168.147.150:123.

    Ncat: UDP packet sent successfully

    Ncat: 1 bytes sent, 0 bytes received in 2.01 seconds.

    注:123为UDP端口,使用命令nc -z -v -u可以测试UDP端口的连通性。

9. 查看开机自动启动服务

[root@ftp xinetd.d]# systemctl list-unit-files | grep "xinetd"

[root@ftp xinetd.d]# systemctl list-unit-files | grep "telnet”

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐