前言
有时候我们会碰到服务端程序连接不上的情况, 要么是ip
有问题 要么是端口有问题
ip
我们可以使用ping
的方式检测是否正常
那么端口检测 可以通过以下几种方式检测:
1.使用ssh
我们知道 连接服务器环境直接使用ssh
指令:
1 | ssh 用户名@ip -p 端口 |
示例:
1 | ssh root@117.21.33.45 -p 22 |
那么我们可以利用ssh
来测试 端口通与不通
比如测试端口5900
是否打通:
1 | ssh -v root@117.21.33.45 -p 5900 //-v表示打印连接日志 |
如果连接日志中出现Connection established.
字样表示端口是通的, 否则不通
2.使用wget
wget
是linux
下的下载工具,需要先安装.
用法:
1 | wget ip:port |
如果端口存在 则连接成功:
否则 连接失败:
3.使用telnet
telnet
是windows
平台自带指令,windows
机器可以直接用 如果是linux
机器,需要先安装telnet
.
用法:
1 | telnet ip port |
如果端口存在 则连接成功:
否则连接失败:
4.使用nc
nc
是netcat
的简写 是一个非常强大的网络工具
直接使用以下指令即可测试端口是否打通:
1 | nc -zv 服务器ip 端口 |
nc的能力除此之外 它还可以:
- 模拟服务端侦听指定端口
- 模拟客户端对服务端进行连接
- 机器之间传输文件
- 机器之间网络测速
模拟服务端和客户端
我们在使用阿里云服务器的时候, 除了要在服务器给应用部署端口之外 还需要再阿里云后台安全组中开放端口映射 这样外网才能对服务器程序进行访问
有时候 我们仅仅是需要测试安全组策略是否打通, 假设我们在安全组中配置外网4001
端口映射到服务器80
端口, 这个时候我们可以在服务端模拟一个80
侦听端口:
1 | nc -l 80 |
然后外网主机同样使用nc
进行模拟访问:
1 | nc -zv 服务器ip 4001 |
当然你想使用telnet
模拟客户端也可以:
1 | telnet 服务器ip 4001 |
如果连接成功 表示端口策略打通 连接拒绝则不通 倘若连接超时 有可能服务端程序有问题
5.使用traceroute
traceroute
可以用来探测主机和目标机的路由节点, 同样可以用来检测端口是否打通
用法:
1 | traceroute -n ip -p 端口 |
6. 使用nmap
nmap
可以扫描机器端口
用法:
1 | nmap ip -p 端口 |
以下状态表示扫描成功:
本文为作者原创 转载时请注明出处 谢谢
微信公众号二维码如下: