[dbus]How to verify the capability of dbus IPC between machines
yinxb
yinxiaobiao at gmail.com
Wed Nov 30 23:57:15 PST 2011
Hi Pavel Strashkin
Thanks Indeed for your help.
And now dbus-send works between machines.
在 2011年12月1日 下午2:09,Pavel Strashkin <pavel.strashkin at gmail.com> 写道:
> Add <allow_anonymous /> to configuration file. It is the step forward,
> but what's next i don't know yet, need to investigate.
>
> 2011/11/30 yinxb <yinxiaobiao at gmail.com>:
>> Hi Pavel Strashkin
>>
>> When I commented the <auth> tag of system.conf in host,the log
>> seems different.
>> send(4, "BEGIN\r\n", 7, MSG_NOSIGNAL) = 7 can be found in the
>> log.It seems auth problem has been solved. Thanks.
>> But the final result is the same.
>> "Error org.freedesktop.DBus.Error.NoReply"
>> ==========================
>> send(4, "AUTH ANONYMOUS 6c696264627573203"..., 43, MSG_NOSIGNAL) = 43
>> poll([{fd=4, events=POLLIN}], 1, -1) = 1 ([{fd=4, revents=POLLIN}])
>> read(4, "OK aea9a11a911a04d6f9f17b7600000"..., 2048) = 37
>> poll([{fd=4, events=POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
>> send(4, "BEGIN\r\n", 7, MSG_NOSIGNAL) = 7
>> poll([{fd=4, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
>> sendmsg(4, {msg_name(0)=NULL,
>> msg_iov(2)=[{"l\1\0\1\0\0\0\0\1\0\0\0u\0\0\0\1\1o\0\25\0\0\0/org/fre"...,
>> 136}, {"", 0}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 136
>> clock_gettime(CLOCK_MONOTONIC, {71916, 842663193}) = 0
>> poll([{fd=4, events=POLLIN}], 1, 25000) = 1 ([{fd=4, revents=POLLIN}])
>> read(4, "", 2048) = 0
>> close(4) = 0
>> write(2, "Error org.freedesktop.DBus.Error"..., 253Error
>> org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible
>> causes include: the remote application did not send a reply, the
>> message bus security policy blocked the reply, the reply timeout
>> expired, or the network connection was broken.
>> ) = 253
>> exit_group(1) = ?
>> ======================
>>
>> 在 2011年12月1日 上午11:36,Pavel Strashkin <pavel.strashkin at gmail.com> 写道:
>>> I have the latest 1.4.x. The command should be "DBUS_VERBOSE=1
>>> dbus-send --address=tcp:host=127.0.0.1,port=12434 --print-reply
>>> --type=method_call --dest=org.freedesktop.DBus /org/freedesktop/DBus
>>> org.freedesktop.DBus.ListNames". If it doesn't work, try to run it via
>>> strace: "strace dbus-send ...".
>>>
>>> 2011/11/30 yinxb <yinxiaobiao at gmail.com>:
>>>> Hi Pavel Strashkin
>>>>
>>>> I downloaded the dbus-1.5.0.tar.gz from
>>>> http://cgit.freedesktop.org/dbus/dbus/
>>>> and ./configure --enable-verbose-mode and make & make install.
>>>> when execute the commad metioned in your last mail,
>>>> I cannot find debug info output.
>>>>
>>>> Also I tried to find the debug version of dbus,and dpkg the package.
>>>> http://packages.ubuntu.com/maverick/dbus-1-dbg
>>>> when use dbus-send,it tells me
>>>> dbus-send: cannot execute binary file
>>>>
>>>> Would you please tell me what is the version of dbus & dbus debug.
>>>> More,Could you kindly tell me the command works in your host and client
>>>> ============
>>>> dbus-send --address=... --print-reply
>>>> --type=method_call --dest=org.freedesktop.DBus /org/freedesktop/DBus
>>>> org.freedesktop.DBus.ListNames
>>>> ============
>>>>
>>>> Thanks very much indeed
>>>>
>>>> 在 2011年11月30日 上午11:53,Pavel Strashkin <pavel.strashkin at gmail.com> 写道:
>>>>> It only means that you can't use --address and --system (--session)
>>>>> command line options together. --system and --session is kind of alias
>>>>> for --address.
>>>>>
>>>>> Try the following call: dbus-send --address=... --print-reply
>>>>> --type=method_call --dest=org.freedesktop.DBus /org/freedesktop/DBus
>>>>> org.freedesktop.DBus.ListNames
>>>>>
>>>>> Put right address there. Also try the same call on localhost where
>>>>> you're listening on 12434 port, use 127.0.0.1 or localhost as a host
>>>>> name.
>>>>>
>>>>> 2011/11/29 yinxb <yinxiaobiao at gmail.com>:
>>>>>> It seems the host(remote pc) is listenning the 12434 port.
>>>>>>
>>>>>> another question,when I execute the following command
>>>>>> dbus-send --address=tcp:host=10.239.58.116,port=12434 --system
>>>>>> --type=method_call --print-reply --dest=org.gnome.DisplayManager
>>>>>> /org/gnome/DisplayManager/Manager
>>>>>> org.gnome.DisplayManager.Manager.GetDisplays
>>>>>>
>>>>>> Get the messages:
>>>>>> ----------------------
>>>>>> --address" may not be used with "--system" or "--session"
>>>>>> ---------------------
>>>>>> Does it mean remote dbus cannot call system bus and session bus in host?
>>>>>> and then what kind of bus can be used in the remote case?
>>>>>>
>>>>>> ps:
>>>>>> DisplayManager is system bus
>>>>>>
>>>>>> 在 2011年11月30日 上午10:04,yinxb <yinxiaobiao at gmail.com> 写道:
>>>>>>> get the following list in local PC
>>>>>>> ----------------------
>>>>>>> tcp 0 0 0.0.0.0:2049 0.0.0.0:*
>>>>>>> LISTEN -
>>>>>>> tcp 0 0 0.0.0.0:59747 0.0.0.0:*
>>>>>>> LISTEN -
>>>>>>> tcp 0 0 0.0.0.0:40967 0.0.0.0:*
>>>>>>> LISTEN 1554/dbus-daemon
>>>>>>> tcp 0 0 0.0.0.0:111 0.0.0.0:*
>>>>>>> LISTEN 617/portmap
>>>>>>> tcp 0 0 0.0.0.0:22 0.0.0.0:*
>>>>>>> LISTEN 586/sshd
>>>>>>> tcp 0 0 127.0.0.1:631 0.0.0.0:*
>>>>>>> LISTEN 984/cupsd
>>>>>>> tcp 0 0 0.0.0.0:59962 0.0.0.0:*
>>>>>>> LISTEN 699/rpc.statd
>>>>>>> tcp 0 0 0.0.0.0:52732 0.0.0.0:*
>>>>>>> LISTEN 927/rpc.mountd
>>>>>>> tcp 0 0 0.0.0.0:60317 0.0.0.0:*
>>>>>>> LISTEN 1768/dbus-daemon
>>>>>>> tcp6 0 0 :::22 :::*
>>>>>>> LISTEN 586/sshd
>>>>>>> tcp6 0 0 ::1:631 :::*
>>>>>>> LISTEN 984/cupsd
>>>>>>> --------------------------
>>>>>>>
>>>>>>> in remotePC
>>>>>>> -------------------------
>>>>>>> tcp 0 0 0.0.0.0:2049 0.0.0.0:*
>>>>>>> LISTEN -
>>>>>>> tcp 0 0 0.0.0.0:53097 0.0.0.0:*
>>>>>>> LISTEN 770/rpc.statd
>>>>>>> tcp 0 0 0.0.0.0:34474 0.0.0.0:*
>>>>>>> LISTEN 1125/rpc.mountd
>>>>>>> tcp 0 0 0.0.0.0:111 0.0.0.0:*
>>>>>>> LISTEN 730/portmap
>>>>>>> tcp 0 0 0.0.0.0:12434 0.0.0.0:*
>>>>>>> LISTEN 512/dbus-daemon
>>>>>>> tcp 0 0 0.0.0.0:33267 0.0.0.0:*
>>>>>>> LISTEN -
>>>>>>> tcp 0 0 0.0.0.0:22 0.0.0.0:*
>>>>>>> LISTEN 1559/sshd
>>>>>>> tcp 0 0 127.0.0.1:631 0.0.0.0:*
>>>>>>> LISTEN 1380/cupsd
>>>>>>> tcp6 0 0 :::22 :::*
>>>>>>> LISTEN 1559/sshd
>>>>>>> tcp6 0 0 ::1:631 :::*
>>>>>>> LISTEN 1380/cupsd
>>>>>>> -------------------------
>>>>>>> 2011/11/30, Pavel Strashkin <pavel.strashkin at gmail.com>:
>>>>>>>> What about "netstat -nlpt"? Does it show that some process is
>>>>>>>> listening on 12434 TCP/IP port?
>>>>>>>>
>>>>>>>> 2011/11/29 yinxb <yinxiaobiao at gmail.com>:
>>>>>>>>> Hi Pavel Strashkin
>>>>>>>>>
>>>>>>>>> It seems that dbus-monitor did not connect the specified host & port.
>>>>>>>>>
>>>>>>>>> When execute the command in remotePC or lolcaPC:
>>>>>>>>> dbus-monitor --address tcp:host=xx.xxx.xx.116,port=12434
>>>>>>>>> only get the register failed message
>>>>>>>>> ========
>>>>>>>>> Failed to register connection to bus at
>>>>>>>>> tcp:host=10.239.58.116,port=12434: Did not receive a reply. Possible
>>>>>>>>> causes include: the remote application did not send a reply, the
>>>>>>>>> message bus security policy blocked the reply, the reply timeout
>>>>>>>>> expired, or the network connection was broken.
>>>>>>>>> ========
>>>>>>>>> I even turned off the firewall on both remotePC and localPC and
>>>>>>>>> still get the same result.
>>>>>>>>>
>>>>>>>>> 在 2011年11月30日 上午3:34,Pavel Strashkin <pavel.strashkin at gmail.com> 写道:
>>>>>>>>>> Does dbus-monitor successfully connect to dbus-daemon on specified host &
>>>>>>>>>> port?
>>>>>>>>>>
>>>>>>>>>> 2011/11/28 yinxb <yinxiaobiao at gmail.com>:
>>>>>>>>>>> In addition,dbus-monitor in the remote PC cannot find any info related
>>>>>>>>>>> the dbus-send.
>>>>>>>>>>>
>>>>>>>>>>> 在 2011年11月29日 上午10:38,yinxb <yinxiaobiao at gmail.com> 写道:
>>>>>>>>>>>> Hi Thiago Macieira and Pavel
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for your reply.
>>>>>>>>>>>>
>>>>>>>>>>>> As metioned in your mail,I did the following steps:
>>>>>>>>>>>> 1.Romote PC:
>>>>>>>>>>>> Config /etc/dbus-1/system.conf.
>>>>>>>>>>>> Add listen tcp:host=0.0.0.0,port=12434
>>>>>>>>>>>>
>>>>>>>>>>>> 2.Local PC:
>>>>>>>>>>>> dbus-send --address=tcp:host=xx.xxx.xx.116,port=12434 --print-reply
>>>>>>>>>>>> --dest=org.gnome.PowerManager
>>>>>>>>>>>> /org/ayatana/NotificationItem/gnome_power_manager/Menu
>>>>>>>>>>>> org.freedesktop.Dbus.Introspectable.Introspect
>>>>>>>>>>>>
>>>>>>>>>>>> after that,I got the following message:
>>>>>>>>>>>> Error org.freedesktop.DBus.Error.NoReply: Did not receive a reply.
>>>>>>>>>>>> Possible causes include: the remote application did not send a reply,
>>>>>>>>>>>> the message bus security policy blocked the reply, the reply timeout
>>>>>>>>>>>> expired, or the network connection was broken.
>>>>>>>>>>>>
>>>>>>>>>>>> Can you figure out what is missing or wrong with my steps?
>>>>>>>>>>>>
>>>>>>>>>>>> ps:
>>>>>>>>>>>> telnet can connect the remote PC (xx.xxx.xx.116).
>>>>>>>>>>>>
>>>>>>>>>>>> 2011/11/29 Thiago Macieira <thiago at kde.org>:
>>>>>>>>>>>>> On Monday, 28 de November de 2011 15.59.42, 尹YinXiaobiao wrote:
>>>>>>>>>>>>>> Hi all
>>>>>>>>>>>>>> I am a newbie at Dbus and this is my first mail in this
>>>>>>>>>>>>>> maillist.
>>>>>>>>>>>>>> By some investigate and look at the source code,I know that dbus
>>>>>>>>>>>>>> is using socket(tcp & unix domain socket) to transfer data.
>>>>>>>>>>>>>> So it is possible for communication between two machines(or VM).
>>>>>>>>>>>>>
>>>>>>>>>>>>> Right, it's possible.
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now my question is how to vevify this capability by dbus-send
>>>>>>>>>>>>>> command.
>>>>>>>>>>>>>> Can anyone give me a hint?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Just send the message you want to send. You know the address of the
>>>>>>>>>>>>> bus server
>>>>>>>>>>>>> to connect to, so pass it in the --address= option. You know that
>>>>>>>>>>>>> address
>>>>>>>>>>>>> because you configured the other machine with it.
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Someone tell me that dbus do not listen on TCP by default,how to
>>>>>>>>>>>>>> enable TCP listen?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Create your own config file and change the <listen> directive to be on
>>>>>>>>>>>>> TCP.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Remember: D-Bus TCP is unauthenticated an unencrypted. It accepts
>>>>>>>>>>>>> connections
>>>>>>>>>>>>> from anywhere and trusts it blindly.
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
>>>>>>>>>>>>> Software Architect - Intel Open Source Technology Center
>>>>>>>>>>>>> PGP/GPG: 0x6EF45358; fingerprint:
>>>>>>>>>>>>> E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> dbus mailing list
>>>>>>>>>>>>> dbus at lists.freedesktop.org
>>>>>>>>>>>>> http://lists.freedesktop.org/mailman/listinfo/dbus
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> dbus mailing list
>>>>>>>>>>> dbus at lists.freedesktop.org
>>>>>>>>>>> http://lists.freedesktop.org/mailman/listinfo/dbus
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
More information about the dbus
mailing list