返回顶部
首页 > 资讯 > 后端开发 > Python >网站渗透常用Python小脚本查询同ip网站
  • 148
分享到

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

网站脚本常用 2022-06-04 18:06:30 148人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

旁站查询来源: Http://dns.aizhan.com http://s.tool.chinaz.com/same http://i.links.cn/sameip/ http://www.ip2hos

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

查看图片

查看图片

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)

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

--结束END--

本文标题: 网站渗透常用Python小脚本查询同ip网站

本文链接: https://lsjlt.com/news/13314.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 网站渗透常用Python小脚本查询同ip网站
    旁站查询来源: http://dns.aizhan.com http://s.tool.chinaz.com/same http://i.links.cn/sameip/ http://www.ip2hos...
    99+
    2022-06-04
    网站 脚本 常用
  • 怎么查询本网站使用的cdn
    要查询本网站使用的CDN,可以通过以下几种方法进行:1. 使用在线工具:有一些在线工具可以帮助你查找一个网站所使用的CDN。你只需要...
    99+
    2023-09-16
    cdn
  • 怎么查询网站使用的php版本
    在当今互联网时代,PHP是一种非常流行的编程语言,主要用于Web开发。将其应用于Web开发中,也因此出现了大量的网站使用了PHP进行编写。如果你想要了解一个网站使用的是什么版本的PHP,有多种方法可以达到这个目的。第一种方法是查看网站的源代...
    99+
    2023-05-14
    php
  • 如何查询网站使用的PHP版本号
    在现代的网络领域中,PHP是一种非常流行的服务器端脚本语言,许多网站都采用PHP运行其网站应用程序。然而,有时候检查一个网站使用的PHP版本号可能是有用的,下面我们来看看如何查询网站使用的PHP版本号。查看网站的源代码我们可以通过查看网站的...
    99+
    2023-05-14
    php
  • 怎么查询网站使用的PHP版本号
    今天小编给大家分享一下怎么查询网站使用的PHP版本号的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。查看网站的源代码我们可以通...
    99+
    2023-07-05
  • 怎么使用Shell脚本程序监控网站URL是否正常
    这篇文章给大家介绍怎么使用Shell脚本程序监控网站URL是否正常,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。监控网站URL是否正常最常见的方法莫过于wget和curl命令了,这两个命令都是非常强大的,强大到网友查看...
    99+
    2023-06-05
  • Python中如何使用专用网站获取本机IP地址
    这篇文章给大家分享的是有关Python中如何使用专用网站获取本机IP地址的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用专用网站获取的是公网IP网址:http://myip.i...
    99+
    2024-04-02
  • 使用Python脚本实现批量网站存活检测遇到问题及解决方法
    做渗透测试的时候,有个比较大的项目,里面有几百个网站,这样你必须首先确定哪些网站是正常,哪些网站是不正常的。所以自己就编了一个小脚本,为以后方便使用。 具体实现的代码如下: #!/usr/bin/pyt...
    99+
    2022-06-04
    解决方法 批量 脚本
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作