windos服务器下检查2台服务器网络是否互通

一、背景

前提条件:我们要把需要验证的服务器的防火墙关闭。
检查两个服务器是否连通,可以同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 回车
windos服务器下检查2台服务器网络是否互通

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
windos服务器下检查2台服务器网络是否互通
查看监听状态:netstat -ano|findstr 1576
windos服务器下检查2台服务器网络是否互通

第二步:建立连接

建立连接:telnet 127.0.0.1 1576
windos服务器下检查2台服务器网络是否互通
查看状态:netstat -ano|findstr 1576
windos服务器下检查2台服务器网络是否互通
通过任务管理器或者,dos命令查看进程号对应的程序
windos服务器下检查2台服务器网络是否互通

两边可以互相通信(telnet连接):
windos服务器下检查2台服务器网络是否互通
两边可以互相通信(netcat连接):
windos服务器下检查2台服务器网络是否互通

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

windos服务器下检查2台服务器网络是否互通

三、实战

服务器版本: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

windos服务器下检查2台服务器网络是否互通
执行后
windos服务器下检查2台服务器网络是否互通

3.2 开启端口监听

在A服务器上开启端口监听
windos服务器下检查2台服务器网络是否互通

3.3 查看端口连同状态

在B服务器上与A服务器建立TCP连接
windos服务器下检查2台服务器网络是否互通

上一篇:Python面向对象:类和对象-继承


下一篇:C# Thread.Join();Thread.Abort();