我们在开发中常常需要测试服务器之间的连通性,下面我给大家分享一下我的经验,常用方法有四个
方法1
使用ping命令,但是这个命令只能简单的测试服务器之间是否具备通信能力,使用方法如下ping 192.168.0.1
回车之后,两个ip所在的服务器会进行收发数据包,默认经历4次,如显示无任何丢失则通信正常
方法2
netcat,该工具比较全面它可以测试的端口类型较多,我们常见的tcp、udp都可以测试
如果我们测试tcp的,那就使用
nc -z ip port
如果我们测试udp,就用
nc –uz ip port
通过端口正常会提示含有succeeded的信息,否则提示failed connection refused
netcat常备用在测试某一台服务器的多个端口,用法如下
nc –vz ip port-port
netcat工具需要下载,下载方式大家可以网上搜索一下下载方式,netcat还是很好用的,它不止可以测试端口,还可以接收测试端口的发送与接收,我常用它在流开发的时候用
方法3
用ssh命令ssh -v -p port username@ip
-v 调试模式(会打印日志)
-p 指定端口
username:远程主机的登录用户
ip:远程主机
如果目标服务器正常,在提示信息中,你会看到如下的一条信息
debug1:Connection established
如果不正常则没有这条信息,而其提示的信息中有明显的失败提示
扫描二维码关注公众号,回复:
12560428 查看本文章
方法4
用wgetwget ip:port
如果目标服务器有问题,则一直在连接状态,卡着不动
如果没问题,他会提示连接成功,并保存一个回应数据的文件
躲坑
我们常见的端口就是tcp、udp、http、https这四种,但是如果遇到http、https,大家直接使用浏览器测试就可以了,不要觉得啥都必须使用命令,之前有个兄弟给我留言说http怎么搞我也是很无语,学技术学的太死了当然你要真的想用命令,也可以有一个curl工具,也是需要下载的,下载好之后使用方式如下
curl -I http://ip
http://可以不带
Linux还有一个自带的工具是Open什么的名字忘了,我基本没用过这个,我习惯了nc