views:

447

answers:

2

Is it possible to use Bonjour from command line? For example if I want to register a service I type something like that: bonjour -register service_name port. And then Bonjour allocate a free IP for my service. Or, for example, if I want to see a list of available services I type something like: bonjour -showServices. And then I get list of all available services with their names, IP addresses and ports. Does something like that exist?

I am kind of confused by the available documentation. For example here, in the beginning of the document I see:

To register your service, call DNSServiceRegister.

Where should I call it? In the command line? In Java? In C++? In python? It is kind of strange that this kind of context is not provided.

In general, I find just a general information about zeroconf and Bonjour (what it is supposed to do). But I cannot find something concrete and simple. Like "Hello World" examples of usage of Bonjour.

Can anybody help me with that?

+1  A: 

Yes, it is certainly possible. Take a look at the man page for mDNS

Max
But I think mDNS is for Mac OS, isn't? I need to use Windows XP.
Roman
Buy the way, is mDNS a part of Bonjour? Or, how mDNS and Bonjour are related?
Roman
Yes, mDNS is a Mac OS/UNIX program. mDNS is a part of Bonjour (what used to be called Rendezvous) which is Apple's implementation of Zeroconf networking. Take a look at the reference material on Apple's website: http://developer.apple.com/networking/bonjour/index.html.
Max
Is there something similar for Windows?
Roman
Max
I have just installed Bonjour on my Windows. After that I tired "mDNS" in the command line and the command was not found. But in the "Program Files\Bonjour" I found "mDNSResponder.exe". I do not know if it is the same.
Roman
No it's not the same - that is the daemon that listens for mDNS queries and responds to them. There is a good video talk by Stuart Cheshire, the inventor of zeroconf networking, explaining how it all works here:http://video.google.com/videoplay?docid=-7398680103951126462#(I discovered Stuart Cheshire went to the same school as I did!)
Max
+2  A: 

dns-sd is the command line program that works on both windows and Mac OS X.

I often use it to tunnel iTunes shares over the internet with ssh. My typical use is dns-sd -P my_music _daap._tcp. local 3690 localhost 127.0.0.1. This assumes that I've set up an ssh tunnel listen on localhost port 3690 to port 3689 of the host sharing iTunes on the foreign network. This makes a little iTunes share icon appear in iTunes named "my_music".

jdizzle