对于我自己的理智,有谁知道为什么rpcbind (linux)每次重新启动时都会打开一个看似随机的端口?我知道它使用的是111端口,但是另一个不断开放的端口是什么呢?谢谢。
[root@testmachine ~]# nmap -sU -p 0-65535 127.0.0.1
Starting Nmap 5.51 ( http://nmap.org ) at 2016-03-03 16:00 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000080s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE
111/udp open|filtered rpcbind
819/udp open|filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 3.11 seconds
[root@testmachine ~]# service rpcbind restart
Stopping rpcbind: [ OK ]
Starting rpcbind: [ OK ]
[root@testmachine ~]# nmap -sU -p 0-65535 127.0.0.1
Starting Nmap 5.51 ( http://nmap.org ) at 2016-03-03 16:00 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000080s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE
111/udp open|filtered rpcbind
846/udp open|filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 2.97 seconds
[root@testmachine ~]# service rpcbind restart
Stopping rpcbind: [ OK ]
Starting rpcbind: [ OK ]
[root@testmachine ~]# nmap -sU -p 0-65535 127.0.0.1
Starting Nmap 5.51 ( http://nmap.org ) at 2016-03-03 16:05 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Not shown: 65533 closed ports
PORT STATE SERVICE
111/udp open|filtered rpcbind
892/udp open|filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 2.86 seconds
发布于 2016-03-07 04:41:53
更可能的是,它是一个RPC服务。尝试使用rpcinfo命令来查看它是什么。
与大多数其他网络服务(FTP、HTTP、SMTP等)不同,RPC服务绑定到动态端口。RPC客户端不直接连接到服务器,而是首先向RPC端口映射器(默认情况下为UDP/111)发送请求,以查找服务器位于哪个端口(Windows上使用类似的端口)。
与此相关的是,nmap是很好的,但是有更简单的方法来了解您的计算机上的监听端口。试一试:sudo netstat -anp | grep LISTEN
。它的速度更快,甚至会给你进程的名称和编号。
另外,nmap 5.51现在大约有五岁了。如果您经常使用它,它是值得升级以获得一些新的功能。
发布于 2017-08-03 02:21:24
rpcbind的Debian手册页告诉我:
All RPC servers must be restarted if rpcbind is restarted.
OP没有提到他们已经这样做了,那么RPC服务如何重新注册呢?那么,想象一下,在重复OP的实验并应用@SArcher的rpcinfo -p
建议时,我感到惊讶,发现所有RPC服务仍然注册.在他们最初的港口上,这表明@SArcher并不是很有钱。
但是,如果我们也应用@SArcher的另一个很好的建议,即sudo netstat -anp
,我们会得到一些更有趣的东西。现在我们不能像建议的那样|grep LISTEN
,因为OP的帖子说udp和UDP套接字从来不处于状态监听状态。我们所发现的是rpcbind不仅在端口111上有套接字--它的工作--而且还像OP所说的那样,在rpcbind启动时随机选择了另一个“保留”端口。
那么“这另一个港口是干什么的?”你会问。很抱歉取笑,但我刚才在我的描述中回答:
Debian 870579:来自随机保留的udp端口的rpcbind回调响应,使得防火墙很难实现。
发布于 2020-09-23 11:03:36
在redhat上有一个单独的服务,名为rpcbind.socket。这要从rpcbind.service开始。rpcbind.service首先检查端口111是否可用,如果端口不可用,则选择一个端口并开始监听该端口。在redhat中,rpcbind.socket首先启动,并使用端口111启动。在netstat中,端口111将显示为systemd使用的端口。当启动rpcbind时,它会发现systemd已经使用了端口111,因此它选择了不同的端口。如果您屏蔽了rpcbind.socket服务,然后启动rpcbind.service,rpcbind将开始侦听端口111。
https://stackoverflow.com/questions/35783145
复制相似问题