X-Git-Url: http://dolda2000.com/gitweb/?p=ldd.git;a=blobdiff_plain;f=resolve;fp=resolve;h=2321b2506c6e2a015f45114b040dce55d50e37d2;hp=0000000000000000000000000000000000000000;hb=769e7ed964e3720cf25825dd5390af5fb0bf4851;hpb=2e783944bffb349dff8667dab0ba0c48b21c9504 diff --git a/resolve b/resolve new file mode 100755 index 0000000..2321b25 --- /dev/null +++ b/resolve @@ -0,0 +1,63 @@ +#!/usr/bin/python +# ldd - DNS implementation in Python +# Copyright (C) 2006 Fredrik Tolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +import socket +import sys +import getopt +import time + +from ldd import resolver + +nameserver = (socket.AF_INET, "198.41.0.4", 53) +rtype = "a" +lrec = True +srec = False +verbose = False +opts, args = getopt.getopt(sys.argv[1:], "vrRs:t:p:") + +for o, a in opts: + if o == "-s": + nameserver = (socket.AF_INET, a, 53) + if o == "-t": + if a == "any": + rtype = 255 + else: + rtype = a + if o == "-p": + nameserver = nameserver[0:2] + (int(a),) + if o == "-r": + lrec = False + if o == "-R": + srec = True + if o == "-v": + verbose = True + +if len(args) < 1: + print "No target given" + sys.exit(1) + +res = resolver.resolver(nameserver, lrec, srec, verbose = verbose) +try: + rsp = res.squery(args[0], rtype) +except resolver.error, inst: + print "error: " + str(inst) +except KeyboardInterrupt: + sys.exit(1) +else: + print str(rsp)