[dbus]How to verify the capability of dbus IPC between machines
yinxb
yinxiaobiao at gmail.com
Wed Nov 30 22:07:40 PST 2011
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