OpenMDNS

Releases mdnsd.8 mdnsctl.8

OpenMDNS is an ISC licensed MDNS/DNS-SD implementation for OpenBSD.

Putting it rough, Multicast DNS is a way to perform DNS like queries via multicast on the local link, there is only a single flat domain name the .local.

DNS Service Discovery is a protocol that operates on top of DNS/MDNS which provides a way to perform Network Discovery on the local link.

MDNS/DNS-SD on Wikipedia MDNS DNS-SD Draft

OpenMDNS aims to be a full replacement for Bonjour or Avahi but with much much less code, Freedesktop's Avahi is around 40k lines and Bonjour around 60k lines. I also dislike the API as it does not feel native, so I propose a new one. OpenMDNS is almost fully functional and it's less than 7k lines. More information on the mdnsd manpage.

OpenMDNS is hosted at github here. More information can be found on its manpage. You can reach me at haesbaert at this domain.

Installation

Mdnsctl

Mdnsctl is a control program which interfaces with the daemon, you can lookup hosts, browse services, publish services and a bunch of stuff, more information in the mdnsctl manpage. Follows some examples for the lazy ones.

# Lookup a host as well as the HINFO record
mdnsctl lookup -h foobar.local

# Reverse lookup an address
mdnsctl rlookup 192.168.8.32

# Browse all services in the local network
mdnsctl browse

# Browse and resolve all services
mdnsctl browse -r

# Browse and resolve all the http services in the local network
mdnsctl browse -r http tcp

# Publish a simple ftp service
mdnsctl publish myftp ftp tcp 21 "user=foobar"