Linux上如何测试服务器之间的通信

我们在开发中常常需要测试服务器之间的连通性,下面我给大家分享一下我的经验,常用方法有四个

方法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

用wget
wget ip:port

如果目标服务器有问题,则一直在连接状态,卡着不动

如果没问题,他会提示连接成功,并保存一个回应数据的文件

躲坑

我们常见的端口就是tcp、udp、http、https这四种,但是如果遇到http、https,大家直接使用浏览器测试就可以了,不要觉得啥都必须使用命令,之前有个兄弟给我留言说http怎么搞我也是很无语,学技术学的太死了

当然你要真的想用命令,也可以有一个curl工具,也是需要下载的,下载好之后使用方式如下

curl -I http://ip

http://可以不带

Linux还有一个自带的工具是Open什么的名字忘了,我基本没用过这个,我习惯了nc

猜你喜欢

转载自blog.csdn.net/dudadudadd/article/details/113258356