网站渗透常用Python小脚本查询同ip网站


Posted in Python onMay 08, 2017

旁站查询来源:
http://dns.aizhan.com
http://s.tool.chinaz.com/same
http://i.links.cn/sameip/
http://www.ip2hosts.com/
效果图如下:
以百度网站和小残博客为例:

网站渗透常用Python小脚本查询同ip网站

网站渗透常用Python小脚本查询同ip网站

PS:直接调用以上4个旁注接口查询同服服务器域名信息包含服务器类型 比如小残博客使用的是Tengine

#!/usr/bin/env python
#encoding: utf-8
import re
import sys
import json
import time
import requests
import urllib
import requests.packages.urllib3
from multiprocessing import Pool
from BeautifulSoup import BeautifulSoup
requests.packages.urllib3.disable_warnings()
 
headers = {'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20'}
 
def links_ip(host):  
  '''
  查询同IP网站
  '''
  ip2hosts = []
  ip2hosts.append("http://"+host)
  try:
    source = requests.get('http://i.links.cn/sameip/' + host + '.html', headers=headers,verify=False)
    soup = BeautifulSoup(source.text)
    divs = soup.findAll(style="word-break:break-all")
     
    if divs == []: #抓取结果为空
      print 'Sorry! Not found!'
      return ip2hosts 
    for div in divs:
      #print div.a.string
      ip2hosts.append(div.a.string)
  except Exception, e:
    print str(e)
    return ip2hosts
  return ip2hosts
 
def ip2host_get(host):
  ip2hosts = []
  ip2hosts.append("http://"+host)
  try:
    req=requests.get('http://www.ip2hosts.com/search.php?ip='+str(host), headers=headers,verify=False)
    src=req.content
    if src.find('result') != -1:
      result = json.loads(src)['result']
      ip = json.loads(src)['ip']
      if len(result)>0:
        for item in result:
          if len(item)>0:
            #log(scan_type,host,port,str(item))
            ip2hosts.append(item)
  except Exception, e:
    print str(e)
    return ip2hosts
  return ip2hosts
 
 
def filter(host):
  '''
    打不开的网站...
  '''
  try:
    response = requests.get(host, headers=headers ,verify=False)
    server = response.headers['Server']
    title = re.findall(r'<title>(.*?)</title>',response.content)[0]
  except Exception,e:
    #print "%s" % str(e)
    #print host
    pass
  else:
    print host,server
 
def aizhan(host):
  ip2hosts = []
  ip2hosts.append("http://"+host)
  regexp = r'''<a href="[^']+?([^']+?)/" rel="external nofollow"  target="_blank">\1</a>'''
  regexp_next = r'''<a href="http://dns.aizhan.com/[^/]+?/%d/" rel="external nofollow" >%d</a>'''
  url = 'http://dns.aizhan.com/%s/%d/'
 
  page = 1
  while True:
    if page > 2:
      time.sleep(1)  #防止拒绝访问
    req = requests.get(url % (host , page) ,headers=headers ,verify=False)
    try:
      html = req.content.decode('utf-8') #取得页面
      if req.status_code == 400:
        break
    except Exception as e:
      print str(e)
      pass
    for site in re.findall(regexp , html):
      ip2hosts.append("http://"+site)
    if re.search(regexp_next % (page+1 , page+1) , html) is None:
      return ip2hosts
      break
    page += 1
 
  return ip2hosts
 
def chinaz(host):
  ip2hosts = []
  ip2hosts.append("http://"+host)
  regexp = r'''<a href='[^']+?([^']+?)' target=_blank>\1</a>'''
  regexp_next = r'''<a href="javascript:" rel="external nofollow" val="%d" class="item[^"]*?">%d</a>'''
  url = 'http://s.tool.chinaz.com/same?s=%s&page=%d'
 
  page = 1
  while True:
    if page > 1:
      time.sleep(1)  #防止拒绝访问
    req = requests.get(url % (host , page) , headers=headers ,verify=False)
    html = req.content.decode('utf-8') #取得页面
    for site in re.findall(regexp , html):
      ip2hosts.append("http://"+site)
    if re.search(regexp_next % (page+1 , page+1) , html) is None:
      return ip2hosts
      break
    page += 1
  return ip2hosts
 
def same_ip(host):
  mydomains = []
  mydomains.extend(ip2host_get(host))
  mydomains.extend(links_ip(host))
  mydomains.extend(aizhan(host))
  mydomains.extend(chinaz(host))
  mydomains = list(set(mydomains))
  p = Pool()
  for host in mydomains:
    p.apply_async(filter, args=(host,))
  p.close()
  p.join()
 
 
if __name__=="__main__":
  if len(sys.argv) == 2:
    same_ip(sys.argv[1])
  else:
    print ("usage: %s host" % sys.argv[0])
    sys.exit(-1)

大家可以发挥添加或者修改任意查询接口。注意是这个里面的一些思路与代码。

Python 相关文章推荐
用Python解决计数原理问题的方法
Aug 04 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
Tensorflow实现神经网络拟合线性回归
Jul 19 Python
基于Django静态资源部署404的解决方法
Jul 28 Python
python读取word 中指定位置的表格及表格数据
Oct 23 Python
PyTorch中Tensor的数据统计示例
Feb 17 Python
你应该知道的Python3.6、3.7、3.8新特性小结
May 12 Python
QML用PathView实现轮播图
Jun 03 Python
Python 如何展开嵌套的序列
Aug 01 Python
【超详细】八大排序算法的各项比较以及各自特点
Mar 31 Python
python opencv通过4坐标剪裁图片
Jun 05 Python
python神经网络Xception模型
May 06 Python
Python获取当前路径实现代码
May 08 #Python
Django自定义分页与bootstrap分页结合
Feb 22 #Python
利用python写个下载teahour音频的小脚本
May 08 #Python
通过源码分析Python中的切片赋值
May 08 #Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 #Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 #Python
Python实现SSH远程登陆,并执行命令的方法(分享)
May 08 #Python
You might like
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
ppk谈JavaScript style属性
2008/10/10 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
vue实现简易计算器功能
2021/01/20 Vue.js
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
Python实现数据库编程方法详解
2015/06/09 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
2019/03/05 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
is_file和file_exists效率比较
2021/03/14 PHP
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
优秀教师主要事迹
2014/02/01 职场文书
《孙权劝学》教学反思
2014/04/23 职场文书
活动总结报告格式
2014/05/09 职场文书
大专生找工作自荐书
2014/06/10 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
党员违纪检讨书
2015/05/05 职场文书
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python