什么是和睦的,为什么要传入网络连接?


44

我刚刚更新到最新的MacOS 10.13.2,重新启动后,我的机器要求我允许传入的网络连接以“融洽”。

阻止它并检查防火墙配置后,我可以看到这是一个可执行文件,/usr/libexec/rapportd该文件是在12月1日在我的计算机上创建的。

在我安装了安全更新2017-001(第二次;自动更新似乎没有注意到我已手动更新)之后的第二天,并且我最近/在那个时候还没有安装或更新任何其他软件。Google Chrome浏览器会随时进行更新,因此这可能与Chrome更新有关(不知道上一次更新的时间)。

互联网表明这与某些银行保护计划有关,但似乎不适合这里,并且通过对二进制文件的模糊文本编辑检查,我可以看到它引用了/System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport(一个框架,该框架是我7月份在我的机器上创建并更新的在十月份),这使我认为这很可能是新的第一方操作系统守护进程。


和睦是做什么的?


1
它有一个联机帮助页,但不是很有帮助:“提要:守护程序为Rapport连接框架提供支持。”
sengi

1
1.来自其他地方的提示建议与本地Apple设备连接(并使Mac从睡眠中唤醒)有关。2. System / Library / CoreServices中还有一个RapportUIAgent。3.有2个启动代理。4.融洽关系存在于10.13.0中,但不活跃。5.有/System/Library/Sandbox/profiles/com.apple.rapportd.sb。6. rapportd.sb和rapportd可执行文件中的文本包括airplay,wifi,蓝牙,配对和homekit。
Gilby

我认为这是您尝试连接到Mbp的其他Apple设备。
Vision Chang

对这类东西了解不多,但是已经注意到传入的连接尝试来自我的iPhone(这是我的iPhone连接的IP地址)。
Gui

Answers:


19

编辑:似乎手册页已更新,现在显示:

Daemon that enables Phone Call Handoff and other communication features between Apple devices.


我只是有同样的经历。手册页指出它是:

Daemon providing support for the Rapport connectivity framework.

检查代码签名是否codesign -dv --verbose=4 /usr/libexec/rapportd显示它是由Apple签名的,并且由于它是与PrivateFramework(Apple不允许其他人)链接的,并且在受SIP保护的位置(除非您关闭了SIP),因此这似乎是合法的Apple软件。手册页暗示它与沟通有关,尽管我还没有找到任何真正的文档。

(感谢John Keates的代码签名技巧。)


仅仅因为Apple授权,就不会使其“合法”。自2012年10月以来,苹果一直在与国家安全机构收集和共享有关其用户的信息。我没有iPhone,也不想与其他Apple设备共享安全漏洞。
Foliovision '18

2
“它与PrivateFramework(Apple不允许其他人链接)链接”:Apple并不关心此事,除非您打算通过App Store进行分发。实际上,我开发的一个应用程序链接到私有框架,而Apple让我们对其进行签名就可以了。
saagarjha

15

除了已经发布的内容外,/ usr / libexec / rapportd是由Apple签名并链接到PrivateFramework(Apple不允许他人使用,因此也不为他人签名)的代码,并且受SIP保护地点。除非您关闭SIP,否则这只是Apple操作系统的一部分。

您可以在命令行上检查:

codesign -vvvv -R="anchor apple" /usr/libexec/rapportd

这应该报告类似:

/usr/libexec/rapportd: valid on disk
/usr/libexec/rapportd: satisfies its Designated Requirement
/usr/libexec/rapportd: explicit requirement satisfied

要显示链接到哪些库:

otool -L /usr/libexec/rapportd

这将显示如下内容:

/usr/libexec/rapportd:
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1450.14.0)
    /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport (compatibility version 0.0.0, current version 0.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1450.14.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)

1
“ Apple不允许他人使用,因此也不允许他人使用”:自己尝试;您会看到它正常工作:echo 'int main() {}' | clang -F/System/Library/Frameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test
saagarjha

PrivateFrameworks,并且由Apple进行代码签名,而不是由您自己在本地进行的Frameworks和代码签名。
John Keates

4
对不起,我是说echo 'int main() {}' | clang -F/System/Library/PrivateFrameworks -framework MobileDevice -x c - -o test; codesign -s "Your certificate" test。考虑到我们正在讨论的内容,这是一个非常不幸的错字。另外,我使用Mac Developer证书(不是临时证书)签署了此证书。
saagarjha

12

我相信它可用于iTunes Home Sharing和用于控制iTunes的Remote应用程序。

我发现这是因为Little Snitch阻止了它,我无法弄清楚为什么iTunes远程内容无法正常工作,因为我不小心关闭了对话框:)

一旦允许,我的手机就可以在笔记本电脑上看到iTunes并发现iTunes Home Sharing。


我从未在这台计算机上同步过iOS设备,但是我确实使用iTunes家庭共享,并且已经rapportd在ipv4和ipv6上均以TCP *:65530(LISTEN)打开运行,我认为端口65530是一个相当高的端口号,仅六个低于最高可能值,但值得庆幸的是,它听起来像是合法软件
Tomachi

6

根据我自己的痛苦经历,我可以知道至少需要此服务才能使文本消息转发(中继)正常工作。

例如,使用防火墙将其阻止,就在iPhone设置中对“文本消息转发”项进行了大胆的禁止。实际上,它甚至根本不会显示

在此处输入图片说明


有趣。我已阻止在计算机上建立融洽的关系,但iMessages和文本消息转发对我而言仍然可以正常工作。您是否可能还有其他被阻止的服务?
戴夫

您是如何封锁的?之后,您是否尝试过重启?
poige

如我最初的问题所述,在询问时选择“拒绝”(并且在防火墙设置中仍被列为“阻止”)。是的,自那时以来,我已经重新启动了很多次。
戴夫

您可以检查确保交通嗅探器和/或netstat/lsof
poige

6

键入man rapportd的终端。这是输出:

NAME
     rapportd -- Rapport Daemon.

SYNOPSIS
     Daemon that enables Phone Call Handoff and other communication features between Apple devices.

     Use '/usr/libexec/rapportd -V' to get the version.

LOCATION
     /usr/libexec/rapportd

0

(编辑:我更正了以前的UID和PID的混合-道歉!)

我检查了此过程打开了哪些文件,这也无济于事。但是,至少我现在知道它正在尝试侦听哪个端口(49161),并且希望可以搜索“保留”该端口的内容(这是一个高端口,因此它并不是真正保留的端口,是的,我知道)。

[username]mbp:~ root# ps -ef |grep -i [r]apport
  501   306     1   0 10:52AM ??         0:00.11 /usr/libexec/rapportd
[username]mbp:~ root# lsof -p 306
COMMAND  PID  USER   FD   TYPE             DEVICE   SIZE/OFF       NODE NAME
rapportd 306 [username]  cwd    DIR                1,4        992          2 /
rapportd 306 [username]  txt    REG                1,4      44768 8591706461 /usr/libexec/rapportd
rapportd 306 [username]  txt    REG                1,4     837248 8591705719 /usr/lib/dyld
rapportd 306 [username]  txt    REG                1,4 1155805184 8591716537 /private/var/db/dyld/dyld_shared_cache_x86_64h
rapportd 306 [username]    0r   CHR                3,2        0t0        308 /dev/null
rapportd 306 [username]    1u   CHR                3,2        0t0        308 /dev/null
rapportd 306 [username]    2u   CHR                3,2        0t0        308 /dev/null
rapportd 306 [username]    3u  IPv4 0x571b821607c38e93        0t0        TCP *:49161 (LISTEN)
rapportd 306 [username]    4u  IPv6 0x571b82160763854b        0t0        TCP *:49161 (LISTEN)
rapportd 306 [username]    5u  unix 0x571b821607941573        0t0            ->0x571b821607941c7b
rapportd 306 [username]    6u  unix 0x571b82160794069b        0t0            ->0x571b82160794050b

1
请在这里详细说明后门对您意味着什么?
bmike

501是UID,而不是PID!您需要lsof -p 306执行此过程
Dave

抱歉,UID / PID混乱-我现在已更正它。
cepal67

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.