[net-dns-users] Parsing MS DNS zone files
tlhackque
tlhackque at yahoo.com
Mon Oct 27 11:52:06 UTC 2014
On 27-Oct-14 00:02, Chris Buxton wrote:
> Hi,
>
> I'm trying to parse MS DNS zone files using Net::DNS::Zonefile, but
> it's having issues with two non-standard Microsoft additions to the
> format:
>
> 1. Age values. For example:
>
> _kerberos._tcp.direktion._sites.dc._msdcs [AGE:3627351] 600 SRV
> 0 100 88 atzt0009.at.zurich.com <http://atzt0009.at.zurich.com>.
>
> 2. WINS records. For example:
>
> @ 0 WINS L2 C900 (
> 192.168.47.221
> 192.168.47.222 )
>
> I don't actually need these data points. I just need to have
> Net::DNS::ZoneFile::read not fail (return null) when encountering
> them. I have a lot of this data, such that it would be painful to rely
> on manual remediation. Does anyone have any ideas?
>
> Thanks,
> Chris Buxton
I'm not an MS DNS admin expert - perhaps there's an 'export a standard
zonefile' utility somewhere. A quick search didn't turn one up, but I
may have missed it.
One approach is to use axfr() instead of reading the file. You can tell
the MS server not to transfer these records - there's a 'do not repicate
this record' checkbox somewhere. See
http://technet.microsoft.com/en-us/library/cc784258(v=ws.10).aspx.
Or you can use Dick's approach and trap the exception - though I'd match
for these cases on the error string in case you trip on another error
from time to time.
I'd use axfr() if possible - that's the standard API to DNS. M$
extensions are always a moving target. At least you can beat them up if
that's broken.
If axfr() isn't allowed from the hosting server, or if these files
aren't served by one: I might even go as far as running a private M$
server with read-only access to these zone files, on a non-standard port
rather than forcibly read the files...
I really, really don't like chasing M$...
If at some point you need the WINS/WINS-R records, it wouldn't be hard
to write a Net::DNS class for them. You might suggest an API for
registering a private class so that you don't have to patch the dispatch
hash. Then you could submit it to CPAN - assuming the Net::DNS folks
don't take it.
Hmm, looks like a 5cent response to a 1cent question. Oh, well.
Good luck.
--
This communication may not represent my employer's views,
if any, on the matters discussed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nlnetlabs.nl/pipermail/net-dns-users/attachments/20141027/04f4f11e/attachment.htm>
More information about the net-dns-users
mailing list