diff options
Diffstat (limited to 'contrib/reverse-dns/reverse_dns.sh')
-rw-r--r-- | contrib/reverse-dns/reverse_dns.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/reverse-dns/reverse_dns.sh b/contrib/reverse-dns/reverse_dns.sh new file mode 100644 index 0000000..c0fff30 --- /dev/null +++ b/contrib/reverse-dns/reverse_dns.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# $Id: reverse_dns.sh 4 2015-02-17 20:14:59Z jo $ +# +# Usage: reverse_dns.sh IP +# Uses the dnsmasq query log to lookup the name +# that was last queried to return the given IP. +# + +IP=$1 +qmIP=`echo $IP | sed 's#\.#\\.#g'` +LOG=/var/log/dnsmasq.log + +IP_regex='^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' + +if ! [[ $IP =~ $IP_regex ]]; then + echo -n $IP + exit +fi + +NAME=`tac $LOG | \ + grep " is $IP" | head -1 | \ + sed "s#.* \([^ ]*\) is $qmIP.*#\1#" ` + +if [ -z "$NAME" ]; then + echo -n $IP +else + echo -n $NAME +fi + |