检查服务器端口是否打开(telnet)

前提:检查服务器(linux系统)端口打开,有两个必要条件:一、服务器上的服务进程开始监听端口;二、服务器上的服务对应的端口在防火墙上已经放开(关闭防火墙也可以)。

准备工作:安装telnet客户端(测试连接的电脑是Windows系统,默认是未安装的)

控制面板-程序-程序和功能-启用或者关闭Windows功能-勾选Telnet客户端-确定

 

 

 

一、以SSH使用的22端口为例,检查服务器的22端口是否放开

 

1、检查服务器上SSH服务,同时查看端口监听状态

(1)service sshd status  检查SSH服务当前状态

(2)lsof -i:22  查看22端口监听状态

可以看到SSH服务和监听已经正常

2、在测试电脑通过telnet ip port进行测试

连接

下图为可以连接(说明:端口打开)

3、关闭SSH服务,测试端口是否打开验证第一个条件不满足时

(1)service sshd stop 停止SSH服务

(2)service sshd status  检查SSH服务当前状态

(3)lsof -i:22 查看22端口监听状态

可以看到SSH服务和监听已经停止

下图为不可以连接(说明:端口未打开)

 

二、以FTP使用的21端口为例,检查服务器的21端口是否打开

 

1、检查服务器上FTP服务,同时查看端口监听状态

(1)service vsftpd status  检查FTP服务当前状态

(2)lsof -i:21  查看21端口监听状态

可以看到FTP服务和监听已经正常

2、在测试电脑通过telnet ip port进行测试

下图为不可以连接(说明:端口未打开)

3、检查防火墙设置验证第二个条件不满足时

可以看到防火墙只打开了22端口,没有放开FTP对应的21端口

iptables -nL 查看防火墙filter表

4、关闭防火墙

service iptables stop 关闭防火墙服务

5、在测试电脑通过telnet ip port进行测试

连接

下图为可以连接(说明:端口打开)

6、退出时一般输入CTRL+]键,再输入quit或者exit就退出了,但是如果发现无法退出,可以把命令窗口关闭

 

总结:检查服务器端口是否打开,我们用到的核心命令只有一个telnet(服务器外部视角),本文通过两个例子,对必要条件进行了说明,另外在实际环境中,一般只知道服务器IP和端口,并不知道服务是否运行、进程是否在监听,也不知道防火墙的设置,这时如果发现端口无法连接,相信大家已经知道登陆服务器去具体看什么了(是否监听&是否防火墙放开)。

 

额外补充:如果上述检查必要条件看起来都没有问题,但是端口还是无法连接,这时就需要考虑排查传输了,另外如果基本的ping检查也是正常的(传输没问题),建议看下网络里面的防火墙。

 

posted on   yaxin1989  阅读(6349)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示