sorinstelian / mdns-browser

Cross-platform Multicast-DNS Service browser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cross-platform Multicast-DNS Service Browser

This application discovers the HTTP services announced on the local LAN segment using Multicast-DNS / Service-Discovery as per "draft-cheshire-dnsext-multicastdns-12.txt" & "draft-cheshire-dnsext-dns-sd-07.txt".

The application can be useful in a context such as discovery network equipment as per LXI Standard.

History

0.1: initial release 0.2: added 'app_version' attribute to window title 0.4: made the 'config' parsing more lenient

Makefile

" make wzip " : builds the Windows distribution zip file

" make install_linux [dir=INSTALL_DIR]" : install in ~/mdns_browser or INSTALL_DIR

Building the Windows distribution requires a full install of 'pygtk' version 2.x. A zip file of the "mdns_browser-win32.zip" will be created in the current directory.

Usage Note

On Linux, pygtk 2.x must be installed.

On Windows using from source: cd src python mdns_browser.py

On Windows using zip distribution: unzip in any directory e.g. c:\Program Files\mdns_browser execute "mdns_browser.exe"

Configuration File

The configuration file "config" must be located in the same folder as the executable. The format is the following:

# location of the help page
[help]
	url: http://some-website.com/
# filter-out based on the following prefixes.
# all entries matching the prefix will be filtered-out
[service]
	filters: prefix1, prefix2 ...`

Testing with Avahi

avahi-publish -s testService _http._tcp 9000

Architecture

Multi-threaded, agent based, message switch

  • Timer : maintains the time-base
  • Querier : performs periodic query
  • Listener : listens to incoming mDNS answers, issues "service" and "answer" messages
  • Comms : performs In/Out socket communications
  • Cache : maintains a cache of services
  • Ui : presents the GUI

About

Cross-platform Multicast-DNS Service browser


Languages

Language:Python 99.7%Language:Shell 0.3%