Komame: discovery and rendering diagram of network¶
Contents:
Komame¶
Komame
provides discoverying the network nodes, and generate diagram
with Linkdraw.


Motivation¶
There are a lot of embedded GNU/Linux servers and gadgets in my home network.I have created the network diagram with sphinxcontrib-nwdiag by hand. This is a very tedious task. I want to generate the diagram and discover the nodes.
About Komame¶
Komame
is my cat name, she is Chartreux. My gravator image is her face photo.
Also Komame
is the meaning of frequently
in Japanese. My cat Komame
is looking around frequently for food in the house. This project has been entangled in such her name.
Features¶
- Discovery network nodes
- Rendering diagram
License¶
Komame
is licensed under GPLv3.
Design notes¶
Design¶
discovery¶
- The nodes that are enable to log into shell are enable to have two discovery way.
Those are the installing multicast DNS(mDNS) agent and the polling from the discovery daemon. (calls
the agent node
.) - The nodes that are disable to log into shell have only one discovery way
that is the polling from the discovery daemon(calls
the discoverd
. Those nodes are named from MAC address with MA-L Public Listing. (callsthe agentless node
.)- This site provides the search form only, but not provide API.
- The oui.txt has been updated daily, the file size is quite large with more than 3.3MB.
- So we obtain the oui.txt once only when komame process start, store the data in memory.
- Polling is ICMP echo request, so you execute as a root permissive.
DNS¶
- The agent nodes are enabled to lookup DNS with mDNS agent only.
- The agentless nodes need the authoritative server for the LAN.
- Use the metadata acquired from agent and discoverd to PowerDNS API that is the built-in REST/JSON API of the PowerDNS (authoritative server >= 3.4). * The searching neighbor networks use traceroute the target address, and
Draw diagram¶
- Drawing the network diagrams from the gathered data, using the linkdraw.
- Generating JSON formated data from gathered data, see also the examples of linkdraw.