How to get easily (from a script) all CNAME of a A record?

Torsten toto at the-damian.de
Tue Nov 9 14:46:05 UTC 2010


Am Tue, 9 Nov 2010 15:14:04 +0100
schrieb Michelle Konzack <linux4michelle at tamay-dogan.net>:

> Hello Matus UHLAR - fantomas,
> 
> Am 2010-11-09 14:13:47, hacktest Du folgendes herunter:
> > I am not sure whether dnswalk over whole internet can do that, but
> > on your
> 
> I will try it...
> 
> > server you can either run recursive grep over named data directory,
> > or dump the named dsatabase and grep it...
> 
> This is what I currently do...
> 
> ----[ '/usr/sbin/get_hosts_in
> cname' ]---------------------------------- #!/bin/sh
> 
> QUERY="$1"
> 
> for FILE in $(cd /etc/bind && ls *.signed)
> do
>   grep --regexp=" IN CNAME .*${QUERY}" /etc/bind/${FILE} 2>/dev/null
> |cut -d ' ' -f1 |sed 's|.$||' done
> ------------------------------------------------------------------------
> 
> ...and it is to slow do to more then  80.000  Zones  (they  have  to
> be greped all) number of VHosts.
> 
> Oh, it is now time to use "xargs", because I saw today, that I  hit
> the limits for "ls".  :-D
> 
> Following is working:
>     cd /etc/bind && ls
> 
> but not:
>     cd /etc/bind && ls *
> or
>     cd /etc/bind && ls *.signed
> 
> and the OSes are called Linux and BSD...  WTF?
> 
> It seems that a commandline can not have more then 31.000 characters.
> (no not options but total lenght)
> 
> Thanks, Greetings and nice Day/Evening
>     Michelle Konzack
> 

Maybe it's easier to get a dump with rndc dumpdb -zones and then run
the grep on the dump file.


Ciao
Torsten




More information about the bind-users mailing list