ICMP host name utilities Since the Linux kernel does not support the ICMP host name facilities as described in RFC 1788, I wrote a simple implementation in user-space. It comprises three parts: * icmpdnd - The ICMP Domain Name daemon, which listens to ICMP domain name requests and replies to them. * idnlookup - A user utility to query a host for its host name over ICMP. Like ping and all other utilities that use ICMP, it needs to be installed SUID root. * libnss_icmp.so.2 - A glibc NSS module, which uses idnlookup to perform queries for the gethostbyaddr function. General information The NSS module caches all requests (including failures) and honors the TTL value sent by the responding host. It uses a configuration file called /etc/nss-icmp.conf, which controls different aspects of its operation: * timeout - Sets the timeout in milliseconds for ICMP host name queries, by passing the -t option to idnlookup. * nocache - Disables the cache. * ttlnotfound - Sets the TTL for not-found cache entries is seconds. The default is 5 minutes. Both icmpdnd and idnlookup need to run as root, due to the fact that they use ICMP. Thus, idnlookup needs be installed SUID root.