首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么rpcbind在重新启动时会打开一个新的和不同的端口?

为什么rpcbind在重新启动时会打开一个新的和不同的端口?
EN

Stack Overflow用户
提问于 2016-03-03 21:13:05
回答 3查看 2.1K关注 0票数 1

对于我自己的理智,有谁知道为什么rpcbind (linux)每次重新启动时都会打开一个看似随机的端口?我知道它使用的是111端口,但是另一个不断开放的端口是什么呢?谢谢。

代码语言:javascript
运行
复制
    [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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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现在大约有五岁了。如果您经常使用它,它是值得升级以获得一些新的功能。

票数 3
EN

Stack Overflow用户

发布于 2017-08-03 02:21:24

rpcbind的Debian手册页告诉我:

代码语言:javascript
运行
复制
 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回调响应,使得防火墙很难实现。

票数 1
EN

Stack Overflow用户

发布于 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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35783145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档