如何在linux环境模拟开启一个监听的端口?

1、背景说明

问题是什么意思呢,就是如何在linux的环境,通过一个程序,模拟监听一个端口。

 

有什么用呢?

 

  • 可以用来测试两个主机之间,哪些端口是通的,或者说,安全端口的范围
  • 两个主机之前的防火墙的超时时间的设置

 

那么,有什么办法来实现呢?

 

使用nc命令,可以模拟在主机上开启一个监听的端口。

 

OK,下面的就是具体的模拟的过程。

 

2、模拟过程

 

2.1、安装nc命令

 

使用下面的命令安装nc命令

yum install -y nc

 

执行下面的命令,出现nc程序的版本号,说明nc命令安装成功

[root@nccztsjb-node-01 ~]# nc --version
Ncat: Version 7.50 ( https://nmap.org/ncat )
[root@nccztsjb-node-01 ~]# 

 

 

2.2、监听到某个端口

 

执行下面的命令,模拟一个程序监听在某个端口

nc -l -k 9085

参数说明:

  • -l 表示监听
  • -k 表示端口持续打开,可接收多次的连接请求

 

执行的过程,执行命令后,程序一直在前台运行

 

在开启另外一个终端,查看监听的端口的情况

[root@nccztsjb-node-01 ~]# netstat -ntlp | grep 9085
tcp        0      0 0.0.0.0:9085            0.0.0.0:*               LISTEN      1953/nc             
tcp6       0      0 :::9085                 :::*                    LISTEN      1953/nc             
[root@nccztsjb-node-01 ~]# 
[root@nccztsjb-node-01 ~]# 

 

nc监听的端口,在每个网卡上,包括ipv4和ipv6上的

 

2.3、验证端口的可连接性

 

在其他的主机上,测试该端口是否可以联通

telnet 172.20.59.76 9085

 

 

出现以下的结果,表示该端口是在监听的,并且两个主机之间这个端口没有安全的限制的

 

执行 Ctrl + ],进去telnet的终端(^],表示的按键是:ctrl + ])

然后执行quit命令,退出telnet

 

然后,第一个主机上监听的9085端口并没有退出。

 

在telnet客户端中,断开连接

 

开启9085端口的监听程序,并没有退出

监听的端口还在

 

如果是使用下面的命令进行监听

nc -l 9085

 

在另外的一个主机进行连接

退出连接后

 

监听9085端口的程序也退出了

 

所以,是个临时的监听端口,一次连接断开后,程序就退出了。

 

如果要测试,多次的连接,要使用-k参数。

 

OK,经过以上的步骤,就实现了在linux的主机上,模拟监听某个端口,测试端口的开放范围,和网络的超时时间。

 

超时时间是怎么回事?

 

如果主机之间,有路由,防火墙,有的时候有网络连接的超时时间,可以telnet建立一个连接,看多久会自动断掉,这个自动断掉的时间,就是防火墙的超时时间。

posted @ 2023-08-10 10:12  Zhai_David  阅读(2426)  评论(0编辑  收藏  举报