在使用dbus-monitor进行黑客攻击的过程中,我尝试连接到Avahi守护进程:
$ dbus-monitor --system \
"type='signal',interface='org.freedesktop.Avahi.Server',member='StateChanged'"这将响应Avahi守护进程状态的变化。
$ sudo restart avahi-daemon
signal sender=org.freedesktop.DBus ->
dest=:1.315
serial=2
path=/org/freedesktop/DBus;
interface=org.freedesktop.DBus;
member=NameAcquired
string ":1.315"
signal sender=:1.318 ->
dest=(null destination)
serial=4
path=/;
interface=org.freedesktop.Avahi.Server;
member=StateChanged
int32 1
string "org.freedesktop.Avahi.Success"
signal sender=:1.318 ->
dest=(null destination)
serial=13
path=/;
interface=org.freedesktop.Avahi.Server;
member=StateChanged
int32 2
string "org.freedesktop.Avahi.Success"但是,我不能浏览这样的服务。
$ dbus-send --system --dest=org.freedesktop.Avahi --print-reply \
/ org.freedesktop.Avahi.Server.ServiceBrowserNew \
int32:-1 int32:-1 string:'_http._tcp' string:'local' uint32:0
method return sender=:1.345 ->
dest=:1.354
reply_serial=2
object path "/Client5/ServiceBrowser1"
$ dbus-monitor --system \
"type='signal',interface='org.freedesktop.Avahi.ServiceBrowser'"据我所知,这应该响应新的/删除的http服务实例,但它不响应。
为什么?
更新:
使用python和APIs执行与上述shell命令相当的命令,就像预期的那样。但是,它们不能连接到我用dbus-send构建的dbus-send,我也不能使用dbus-monitor来听他们构建的ServiceBrowser。
在这一点上,我最好的猜测是:
dbus-send命令),我创建的ServiceBrowser就会被销毁。但是,这并不能解释为什么dbus-monitor无法连接到与我的python脚本处于主动通信状态的ServiceBrowser。发布于 2022-05-11 17:04:04
我相信问题是由巴士公司的政策引起的。尝试像这样在/etc/dbus-1/system.d/avahi-dbus.conf中更改avahi dbus策略(记得重新启动avahi守护进程):
<busconfig>
<policy context="default">
<!-- All messages may be received by default -->
<allow receive_requested_reply="false" receive_type="method_call" eavesdrop="true"/>
<allow receive_requested_reply="false" receive_type="method_return" eavesdrop="true"/>
<allow receive_requested_reply="false" receive_type="error" eavesdrop="true"/>
<allow receive_requested_reply="false" receive_type="signal" eavesdrop="true"/>
<allow eavesdrop="true"/>
</policy>
<policy user="root">
<allow send_destination="*" eavesdrop="true"/>
<allow receive_sender="*" eavesdrop="true"/>
</policy>
</busconfig>并使用root权限运行dbus-监视器:
sudo dbus-monitor --system \
"type='signal',interface='org.freedesktop.Avahi.ServiceBrowser'"参考资料:http://blog.nutsfactory.net/2011/03/08/test-and-debug-dbus/
https://stackoverflow.com/questions/21743696
复制相似问题