简单测试rpc调用
举例:
实现过程
1.192.168.1.105 安装nfs的server端口
2.192.168.1.106 使用rpcinfo命令发起rpc调用
3.192.168.1.106 使用“tcpdump -i any -s 0 -w /data/rpcfile.pcap” 抓包
- wireshark分析rpc调用的数据包:使用rpc协议过滤
安装nfs-server
yum install -y nfs-utils rpcbind
mkdir -p /data
chown -R nfsnobody:nfsnobody /data
chmod 766 /data
配置 NFS
vim /etc/exports
/data 192.168.0.0/16(rw,sync,all_squash)
翻译: 将 /data 放到 192.168.0.0/16的所有机器共享,并且权限为 读写
启动 NFS 服务
systemctl start rpcbind && systemctl start nfs
systemctl statusrpcbind && systemctl status nfs
查看相关端口
rpcinfo -p localhost
rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100024 1 udp 44249 status
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100024 1 tcp 60625 status
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 60055 nlockmgr
100021 3 udp 60055 nlockmgr
100021 4 udp 60055 nlockmgr
100021 1 tcp 39946 nlockmgr
100021 3 tcp 39946 nlockmgr
100021 4 tcp 39946 nlockmgr
备注: 111一般为rpc的端口
使用rpcinfo发起rpc调用
a.sh
!/bin/bash
设置RPC服务程序的名称、版本号、协议和端口
program_number=100005 # 例如,NFS服务的程序编号
version=1 # 通常为1
protocol=1 # TCP协议通常为1
host="192.168.1.105" # RPC服务器的主机名
port=2049 # 服务端口号
使用rpcinfo工具查询RPC服务信息
rpcinfo -p program_number protocol $port