检查服务器端口是否打开(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 2022-01-21 21:02 yaxin1989 阅读(6349) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix