反转操作在Python中写代码实现利用ip反查指定域名(附源码)

反转操作在Python中写代码实现利用ip反查指定域名(附源码)foriinrange:print’.’,newurl=url+strallDomain+=getAllDomainprint&

大家好,欢迎来到IT知识分享网。

#!/usr/bin/python2.7

# -*- coding:utf-8 -*-

import urllib,urllib2

import re

import subprocess

import sys

output=”

def html(html):

#print str

response=urllib2.urlopen(html)

return str(response.readlines())

def getpage(html):

pattern=re.compile(“\.\.\.\s(\d+)”,re.S)

#print html

p=pattern.findall(html)

#print ‘页数为:’+p[0]

if len(p)==0:

print ‘无查询结果’

exit()

else:

return int(p[0])

def getAllDomain(html):

#print html

pattern1=re.compile(“t<a\shref=\”http://(.*?)/\”\srel”,re.S)

domain=pattern1.findall(html)

result=[]

i=0

#print domain

for pp in domain:

result.append(pp)

i+=1

return result

def nslookup(domain):

ns=subprocess.Popen(‘nslookup ‘+domain,shell=True,stdout=subprocess.PIPE)

ns_result=ns.stdout.read()

#print ns_result

#如果nslookup输出不一样需要修改正则,正则不会写,很多疏漏,简单写下能实现就行

re_domain=re.compile(“Name:\t([\s\S\w\W]*?)\nAddress:([\s\S\w\W]*?)\n”, re.S)

return re_domain.findall(ns_result)

def nslookupThread(allDomain):

for d in allDomain:

r=nslookup(d)

#跳过未查询到的

if len(r)==0:

continue

for i in range(len(r)):

x=r[i][0].strip()

y=r[i][1].strip()

#print ‘%s:%s’ % (x,y)

#提取解析到此ip的域名

if cmp(y,ip)==0:

print x

if __name__ == “__main__”:

#

ip=’127.0.0.1′

if len(sys.argv)==2:

ip=sys.argv[1]

else:

print ‘usege:./ip2domain.py 192.168.1.1’

exit()

url=’http://dns.aizhan.com/’+ip+’/’

#查询域名,提取页面数

htmls=html(url)

page=getpage(htmls)

allDomain=[]

print ‘拉取[‘+ip+’]所有域名,请稍等’,

for i in range(1,page+1):

print ‘.’,

newurl=url+str(i)+’/’

htmls=html(newurl)

allDomain+=getAllDomain(htmls)

print ‘\n共’+str(len(allDomain))+’个域名’

#print allDomain

print ‘拉取域名完毕’

print ‘正在查询解析,提取指定ip的域名,请稍等’,

nslookupThread(allDomain)

print ‘查询完毕,已退出’

exit()

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/80768.html

(0)
上一篇 2024-08-31 11:00
下一篇 2024-08-31 16:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信