网站渗透常用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之使用Python查询更新数据库
Nov 25 Python
Python使用正则匹配实现抓图代码分享
Apr 02 Python
快速了解Python相对导入
Jan 12 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
浅析Python数据处理
May 02 Python
Python  unittest单元测试框架的使用
Sep 08 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
python可迭代对象去重实例
May 15 Python
Python自动化之UnitTest框架实战记录
Sep 08 Python
Python+Appium新手教程
Apr 17 Python
基于Python实现的购物商城管理系统
Apr 27 Python
从np.random.normal()到正态分布的拟合操作
Jun 02 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
PHP新手上路(十一)
2006/10/09 PHP
php zip文件解压类代码
2009/12/02 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
PHP中调用SVN命令更新网站方法
2015/01/07 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
Seajs的学习笔记
2014/03/04 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
vue实现登录拦截
2020/06/29 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
Python @property原理解析和用法实例
2020/02/11 Python
Python Django view 两种return的实现方式
2020/03/16 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
纪检干部先进事迹材料
2014/08/23 职场文书
社区宣传标语口号
2015/12/26 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS