리눅스 rpcinfo
IT위키
더 많은 작업
- RPC 서버(rpcbind, 예전에는 portmap)에 등록된 RPC 프로그램의 번호·버전·프로토콜·포트를 조회하는 명령
- 유닉스와 리눅스 모두에서 쓴다
- 경로 : /usr/sbin/rpcinfo
- 패키지 : rpcbind (CentOS 6 이전은 portmap)
RPC 서비스는 고정 포트를 쓰지 않고, 시작할 때 자기 프로그램 번호와 포트를 포트 매퍼(111번 포트의 rpcbind)에 등록한다. 클라이언트는 포트 매퍼에게 물어 포트를 알아낸다. rpcinfo 는 이 등록 목록을 보여 주므로 NFS·NIS 처럼 RPC 를 쓰는 서비스가 제대로 떠 있는지, 방화벽에서 어느 포트를 열어야 하는지 확인할 때 쓴다.
rpcinfo -p [호스트] rpcinfo [-n 포트] -u|-t 호스트 프로그램 [버전]
- -p [호스트] : 호스트(생략하면 자기 자신)의 포트 매퍼에 등록된 모든 RPC 프로그램을 보여 준다
- -u 호스트 프로그램 : UDP 로 해당 프로그램의 0번 프로시저를 불러 응답하는지 확인한다
- -t 호스트 프로그램 : TCP 로 같은 확인을 한다
- -b 프로그램 버전 : 네트워크에 브로드캐스트해 그 프로그램을 제공하는 호스트를 찾는다
- -d 프로그램 버전 : 등록을 지운다(root)
- -s : 프로그램별로 묶어 간단히 보여 준다(rpcbind 판)
[root@www ~]# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 44921 status
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
| 열 | 뜻 |
|---|---|
| program | RPC 프로그램 번호. 100000 portmapper, 100003 nfs, 100005 mountd, 100024 status(rpc.statd), 100021 nlockmgr, 100004 ypserv(NIS) |
| vers | 그 프로그램의 버전. 버전마다 한 줄씩 나온다 |
| proto | tcp 또는 udp |
| port | 실제로 열린 포트. portmapper 는 늘 111, nfs 는 보통 2049 |
| service | 프로그램 번호에 붙은 이름(/etc/rpc 파일에 정의) |
# 원격 NFS 서버의 nfs 서비스가 TCP 로 응답하는지 확인 $ rpcinfo -t 192.168.0.10 nfs program 100003 version 3 ready and waiting
| 명령 | 하는 일 |
|---|---|
| rpcinfo | 포트 매퍼에 등록된 RPC 프로그램 목록(program·vers·proto·port·service)을 보여 준다 |
| rpcbind | 111번 포트에서 RPC 프로그램 번호를 포트로 바꿔 주는 데몬. 목록을 출력하는 명령이 아니다 |
| portmap | rpcbind 의 예전 이름(같은 역할의 데몬). CentOS 6 부터 rpcbind 로 바뀌었다 |
| exportfs | NFS 서버가 공유하는 디렉터리와 옵션을 반영·출력한다(exportfs -v) |
| showmount | NFS 서버의 공유 목록(-e)이나 마운트한 클라이언트를 보여 준다 |
| nfsstat | NFS 호출 통계를 보여 준다 |