网站渗透常用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内置函数之filter map reduce介绍
Nov 30 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
python读取oracle函数返回值
Jul 18 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
Python设计模式之代理模式简单示例
Jan 09 Python
django框架两个使用模板实例
Dec 11 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 Python
python中resample函数实现重采样和降采样代码
Feb 25 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
基于plt.title无法显示中文的快速解决
May 16 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 Python
Django实现内容缓存实例方法
Jun 30 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
一个程序下载的管理程序(一)
2006/10/09 PHP
打造计数器DIY三步曲(下)
2006/10/09 PHP
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
中医学专业自荐信范文
2014/04/01 职场文书
英文请假条
2014/04/11 职场文书
学生鉴定评语大全
2014/05/05 职场文书
公司晚会策划方案
2014/05/17 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
win10下go mod配置方式
2021/04/25 Golang
Pytorch 如何实现常用正则化
2021/05/27 Python
7个关于Python的经典基础案例
2021/11/07 Python