Linux环境下,使用ssh测试TCP端口是否开放

news/2025/2/2 6:43:12/

在工作中,一些软硬件的工程师去现场安装软件后,发现出现各种异常,然后忙前忙后排查,最后才发现原来是现场的防火墙端口没有开放。

其实网络上也有很多排查端口是否开放的方法,我这里只写一下咱们怎么在Linux操作系统之间,使用ssh快速查看某个端口是否开放。

开始测试

目标:测试端口TCP 2525是否开放。
工具:ssh
环境:Red Hat Enterprise Linux Server release 6.6 (Santiago) * 2 
IP:172.0.96.49(被测试的目标)、172.0.96.144(已安装ssh工具)

先使用下列命令,检查服务器的端口是否被占用。

netstat -an | grep 2525

发现没有获取任何记录。

ssh测试-1

使用172.0.96.144这台,输入命令得到结果,很明显被拒绝了。
ssh测试-2
那我们在172.0.96.49这台上,使用下列命令起一个TCP 2525的监听,再另外开启一个会话窗口,查看2525端口的占用情况。

#窗口1
python -m SimpleHTTPServer 2525
#窗口2
netstat -an | grep 2525

ssh测试-3
好了,现在有服务占用2525端口了,我们再使用ssh测试一下,结果如下。
ssh测试-4
可以看到
1、172.0.96.49的服务器上,出现172.0.96.144的记录。
2、172.0.96.144的服务器上,有debug1: Connection established的信息。

我们再增加一个实验,我现在启动172.0.96.49的防火墙,再看看172.0.96.144服务器上的ssh结果。

#窗口2
service iptables start

ssh测试-5

获得结论

通过对比ssh输出的信息,咱们可以得出以下结论。

结论1:当被测试服务器上,没有服务占用TCP 2525端口时,我们使用ssh测试将得到“ssh: connect to host 172.0.96.49 port 2525: Connection refused”的结果。结论2:当被测试服务器上,有服务占用TCP 2525端口且防火墙端口已开放的情况下,我们使用ssh测试将得到“debug1: Connection established.”的结果。结论3:当被测试服务器上,有服务占用TCP 2525端口,但是防火墙未放开TCP 2525端口的情况下,我们使用ssh测试将得到“ssh: connect to host 172.0.96.49 port 2525: No route to host”的结果。

那么,在现场测试的时候,只要记住上述的结论,就可以很快的确认,现场到底有没有开放特定端口。


http://www.ppmy.cn/news/345954.html

相关文章

ArcGIS距离分析—规划最低成本路径

先给自己搞一个存放操作结果的数据库,然后把它设置为临时存放操作结果的位置。 把用到的数据加载进来:起点、终点、DEM、土地分类数据。 计算成本数据:包括重分类的坡度、起伏度数据。 首先使用DEM数据生成坡度数据。 坡度数据的像元大小…

zzuli 2525: 咕咕的搜索序列(dfs合法序列)

2525: 咕咕的搜索序列 时间限制: 1 Sec 内存限制: 128 MB 提交: 371 解决: 40 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 咕咕已经学到树上的深度优先搜索 (dfs) 啦!由于同一棵树不同的 dfs 访问结点的次序不一样,咕咕干脆定义 了一个搜索序列…

分布式架构之EasyES---和 Mybatis用法相似,太方便了

一、EasyES是什么? Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的ORM开发框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生,您如果有用过Myb…

python基本语法知识(五)——面向对象

类和对象 例子1 class Student:name Nonegender Nonenationality Nonenative_place None # 籍贯age None# 类内的成员方法,第一个参数必须为 self,# self相当于是当前对象def say_hi(self):print(f"大家好,我是{self.name}")def say_hi2(self, msg):print(f&q…

1.2 几种常用的数制

学习目标: 学习几种常用的数制可以通过以下步骤进行: 1. 确定目标数制:常用的数制包括十进制、二进制、八进制和十六进制。首先,确定你想要学习的数制是哪一种。 2. 理解基本概念:了解每种数制的基本概念是非常重要…

Vue Router的详细解读之手把手教学篇(一)

Vue Router是Vue项目开发中,重要的一环,在页面模块的模块化,数据参数的传递,等方面具有重要的作用,Vue是单页面应用,通过路由控制页面所展示的内容,下面让我们一起学习一下关于Vue Route的基础用…

js 给图片添加水印

如何在图片上添加水印? 1、把图片或者图片文件转成image元素 2、把转成的image转成canvas 3、在生成的canvas中添加水印 先看效果 1、把图片或者图片文件转成image元素 function urlToImg(url) {return new Promise((resolve, reject) > {const img new Image(…