1238106Sdes#!/usr/bin/python 2238106Sdes# vim:fileencoding=utf-8 3238106Sdes''' 4238106Sdes ns-lookup.py: Example shows how to lookup for NS records 5238106Sdes 6238106Sdes Authors: Zdenek Vasicek (vasicek AT fit.vutbr.cz) 7238106Sdes Marek Vavrusa (xvavru00 AT stud.fit.vutbr.cz) 8238106Sdes 9238106Sdes Copyright (c) 2008. All rights reserved. 10238106Sdes 11238106Sdes This software is open source. 12238106Sdes 13238106Sdes Redistribution and use in source and binary forms, with or without 14238106Sdes modification, are permitted provided that the following conditions 15238106Sdes are met: 16238106Sdes 17238106Sdes Redistributions of source code must retain the above copyright notice, 18238106Sdes this list of conditions and the following disclaimer. 19238106Sdes 20238106Sdes Redistributions in binary form must reproduce the above copyright notice, 21238106Sdes this list of conditions and the following disclaimer in the documentation 22238106Sdes and/or other materials provided with the distribution. 23238106Sdes 24238106Sdes THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 25238106Sdes "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 26238106Sdes TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27238106Sdes PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE 28238106Sdes LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 29238106Sdes CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 30238106Sdes SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31238106Sdes INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 32238106Sdes CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 33238106Sdes ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 34238106Sdes POSSIBILITY OF SUCH DAMAGE. 35238106Sdes''' 36238106Sdesimport unbound 37238106Sdes 38238106Sdesctx = unbound.ub_ctx() 39238106Sdesctx.resolvconf("/etc/resolv.conf") 40238106Sdes 41238106Sdesstatus, result = ctx.resolve("vutbr.cz", unbound.RR_TYPE_NS, unbound.RR_CLASS_IN) 42238106Sdesif status == 0 and result.havedata: 43238106Sdes print "Result:" 44238106Sdes print " raw data:", result.data 45238106Sdes for k in result.data.domain_list: 46238106Sdes print " host: %s" % k 47238106Sdes 48