かってきままな日々
2020-04-22 (We) [長年日記]
_ macOS Catalina の NFS 問題
rpcbind (portmap) への登録ができない件。
ESET がそれを [::]:xxx
から [::xxx:xxx:0:0]:111
への TCP アクセスと認識
して落としてる。xxx 部分は毎回変わる。
ただ、TCP の片側が ::
なんて、おかしいにも程がある。
com.apple.rpcbind.plist を見たところ、/var/run/portmap.socket
で listen してる。launchctl で見ても同様。/var/run/portmap.socket
は確かにある。
しかし macOS ではその socket をどのプロセスが使ってるかは判らない。
でもまぁ socket activation なのだろう。
launchctl で rpcbind に SIGTERM を送ると確かに落ちるけど、
sudo nfsd restart
すると上がってくる。
これは socket activation の機能。
nfsd と rpcbind は、IP でなく /var/run/portmap.socket
を使って通信してるのではないか?
だとすると ESET が記録している TCP 接続は何だろう? UNIX domain socket を何らかの手法で INET domain に mapping して、 その上で filtering している??
などと、あまりのわけわからなさに思考がめちゃくちゃになってきた…
tcpdump や wireshark で見ても捕まえられないんだよねー。
_ lsof
そういや lsof なんてあったんだな。macOS にもあったのか。
lsof -niU
で望みの出力が得られた。
なんと launchd は TCP port を一つも listen していなかった。まじか。
/var/run/portmap.socket
は listen していた。
つーことは、rpcbind は /var/run/portmap.socket
の通信が始まったことで起動した、
と考えて間違いなさそう。
そうすると、やっぱり ESET のログがさっぱり解らん。