一、背景
存储告急,项目中mongoDB分片集群需要新增一个 mongoDB分片,将需要开通的网络策略发给客户网络人员,反馈说已经开通了,需要给他一个确认。
image.png如果没法短时间内将分片搭建好,如果快速模拟测试相关网络端口的连通性?!
二 、用程序临时监听指定端口,用于测试网络端口连通性
服务器之间的网络测试可以使用ping ,当然如果服务器之间禁ping了就当我没说。
那,端口的连通性怎么测试?
- 用 nc 临时监听指定端口
$ yum -y install nc
$ nc -l 12345
$ nc -l 54321
$ echo > /dev/tcp/192.168.1.111/12345
$ echo > /dev/tcp/192.168.1.111/12345
$ echo > /dev/tcp/192.168.1.111/12345
$ echo > /dev/tcp/192.168.1.104/54321
$ echo > /dev/tcp/192.168.1.105/54321
- 用HTTPServer 临时监听指定端口
Python 2 与 Python 3 的命令不同,需要注意:
python2: -m SimpleHTTPServer
python3: -m http.server
$ python -m SimpleHTTPServer 12345
$ python -m SimpleHTTPServer 54321
$ echo > /dev/tcp/192.168.1.111/12345
$ echo > /dev/tcp/192.168.1.111/12345
$ echo > /dev/tcp/192.168.1.111/12345
$ echo > /dev/tcp/192.168.1.104/54321
$ echo > /dev/tcp/192.168.1.105/54321
当然,端口的连通性不一定要用echo,可以使用 telnet ip port 。
一般客户端访问 服务端,是:本机ip:随机端口 <----> 目标ip:固定端口
有时测试需要,你需要指定本机为一个固定端口
curl 、 nc 都支持此类玩法。
# yum -y install nc
$ nc -l 12345 -zuv 192.168.1.10 8080
注: -l listen 本地监听
$ curl --local-port 12345 https://www.baidu.com
注: --local-port <num>[-num] 为连接指定一个本地端口
三、参考
curl总结
https://www.cnblogs.com/xgss/articles/16519299.html
Linux nc命令
https://www.runoob.com/linux/linux-comm-nc.html
http://love.ranshy.com/linux-nc%E5%91%BD%E4%BB%A4/
网友评论