一、背景
前提条件:我们要把需要验证的服务器的防火墙关闭。
检查两个服务器是否连通,可以同ping或者telnet,但是它两是由区别的。
ping是测试网络连通性的,telnet是连接远程主机的一个方式。
它两之间没有必然的联系,可以ping通不代表可以telnet通,可以telnet通不代表可以ping通,一般情况telnet如果可以访问通代表可以访问某个服务器的端口,当然这两个服务器可以通信的。
注意:telnet 是访问网络端口用的,它可以判断出远程服务器端口是否可以被当前服务器访问,前提是远程服务器的端口必须被监听
。
我们可以Netcat 来让某个端口处于监听状态。
二、Netcat的使用
Netcat的使用:https://www.fujieace.com/linux/nc-2.html
Linux版本下载地址:https://nmap.org/ncat/
Windows版本下载地址:http://nmap.org/dist/ncat-portable-5.59BETA1.zip
我们以windos为例进行使用。
2.1 把下载的文件解压在一个文件夹下
如果想在dos下直接用就把路劲配置道环境变量的path下,如果不想这么麻烦就直接在文件夹目录上属于 cmd 回车
2.2 通过Netcat建立tcp监听和连接tcp端口
## 在当前服务器上建立 TCP / UDP端口监听
ncat -l 1576
## 在其他服务器上连接到TCP / UDP端口(因为这里我们只有一个服务器,所以还是在当前服务器上做的测试)
ncat 127.0.0.1 1576
## 如果另外一台服务器没有安装Netcat 可以通过telnet连接来测试端口的开通情况
telnet 127.0.0.1 1576
## 查看所有端口情况
netstat -ano
## 第三步:查询1576宽口对应的进程号 注意,只要这一条中包含1576都会被查出来
netstat -ano|findstr 1576
第一步:建立监听并查看状态
注意:想要建立连接,端口一定要处于 listening状态
建立监听:ncat -l 1576
查看监听状态:netstat -ano|findstr 1576
第二步:建立连接
建立连接:telnet 127.0.0.1 1576
查看状态:netstat -ano|findstr 1576
通过任务管理器或者,dos命令查看进程号对应的程序
两边可以互相通信(telnet连接):
两边可以互相通信(netcat连接):
2.3 netstat 查看端口监听情况说明
我们使用netstat查看当前端口已经外网ip对当前端口的访问情况
## 第一步: 打开运行,输入cmd 回车
win+r
## 第二步:通过命令查看所有端口
netstat -ano
## 第三步:查询9000宽口对应的进程号,如果可以查找到数据,说明确实有程序占用了这个端口号
netstat -ano|findstr 9000
## 第四步:查询出所有的进程
tasklist
## 第五步:查询出 9000 端口对应的进程号所对应的程序
tasklist|findstr 15372
## 强制杀死进程
taskkill /pid 15372 -t -f
三、实战
服务器版本:windows server 2012 R2
3.1 首先我们为我们需要监听的端口新建一个批处理文件
ncatstart.bat 文件
#1433,3306,7001,7002,7003
#63389,873,28950
#111,2049,39001,39002,39003,39004
## 执行完毕以后,新开的窗口不会自动关闭
#start cmd /k echo Hello, World!
## 执行完毕以后,新开的窗口会自动关闭
#start cmd /C pause
##----------------------
start cmd /k call ncat -l 1433
start cmd /k call ncat -l 3306
start cmd /k call ncat -l 7001
start cmd /k call ncat -l 7002
start cmd /k call ncat -l 7003
start cmd /k call ncat -l 63389
start cmd /k call ncat -l 873
start cmd /k call ncat -l 28950
start cmd /k call ncat -l 111
start cmd /k call ncat -l 2049
start cmd /k call ncat -l 39001
start cmd /k call ncat -l 39002
start cmd /k call ncat -l 39003
start cmd /k call ncat -l 39004
执行后
3.2 开启端口监听
在A服务器上开启端口监听
3.3 查看端口连同状态
在B服务器上与A服务器建立TCP连接