#!/usr/bin/python
# -*- coding:utf-8 -*-
import optparse, time, dns.resolver
resolver=dns.resolver.Resolver()
resolver.nameservers=['8.8.8.8']
def checkDns(domain):
try:
answers=resolver.query(domain,'A')
for rdata in answers:
print "A : "+str(rdata.address)
except dns.resolver.NoAnswer, dns.resolver.NXDOMAIN:
#print "dns.resolver.NoAnswer"
pass
try:
answers=resolver.query(domain,'AAAA')
for rdata in answers:
print "AAAA : " +str(rdata.address)
except dns.resolver.NoAnswer, dns.resolver.NXDOMAIN:
#print "dns.resolver.NoAnswer"
pass
try:
answers=resolver.query(domain,'MX')
for rdata in answers:
print 'MX : host='+str(rdata.exchange)+' has preference='+str(rdata.preference)
except dns.resolver.NoAnswer, dns.resolver.NXDOMAIN:
#print "dns.resolver.NoAnswer"
pass
try:
answers=resolver.query(domain, 'NS')
for rdata in answers:
print "NS : "+str(rdata.to_text())
except dns.resolver.NoAnswer, dns.resolver.NXDOMAIN:
#print "dns.resolver.NoAnswer"
pass
def parseDomain(url):
domain=url.replace('http://','')
domain=domain.replace('https://','')
idx=domain.find('/')
if idx>0:
domain=domain[:idx]
return domain
def main():
parser=optparse.OptionParser('usage dnsQuery.py -f domain_list')
parser.add_option('-f',dest='filename',type='string',help='input file')
(options,args)=parser.parse_args()
filename=options.filename
if filename == None:
print parser.usage
exit(0)
f=file(filename,'r')
while True:
line=f.readline()
if not line :
#file end
break
else:
domain=parseDomain(line.rstrip('\n'))
print "=================> "+domain
checkDns(domain)
time.sleep(1)
if __name__=='__main__':
main()
'Python' 카테고리의 다른 글
treeEx.py (0) | 2015.02.05 |
---|---|
sshBrute.py (0) | 2015.02.04 |
bmpInjectionCode.py (0) | 2015.02.03 |
reverseBinary.py (0) | 2015.02.02 |
chang_Ext.py (0) | 2015.01.31 |