工具篇–子域名收集

# 导入模块
import sys
from threading import Thread
from urllib.parse import urlparse
import requests
from bs4 import BeautifulSoup# bing搜索子域名
def bing_search(site, page):headers = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/''85.0.4183.102 Safari/537.36','Accept-Encoding': 'gzip,deflate','Accept-Language': 'en-US,en;q=0,5','Referer': 'https://cn.bing.com/search?q=site%3Abaidu.com&qs=n&form=QBLH&sp=-1&pq=site%3Abaidu.com''&sc=0-14&sk=&cvid=852BA524E035477EBE906058D68F4D70','cookie': 'SRCHD=AF=WNSGPH; SRCHUID=V=2&GUID=D1F8852A6B034B4CB229A2323F653242&dmnchg=1; _EDGE_V=1; ''MUID=304D7AA1FB94692B1EB575D7FABA68BD; MUIDB=304D7AA1FB94692B1EB575D7FABA68BD; ''_SS=SID=1C2F6FA53C956FED2CBD60D33DBB6EEE&bIm=75:; ipv6=hit=1604307539716&t=4; ''_EDGE_S=F=1&SID=1C2F6FA53C956FED2CBD60D33DBB6EEE&mkt=zh-cn; SRCHUSR=DOB=20200826&T=1604303946000;'' SRCHHPGUSR=HV=1604303950&WTS=63739900737&CW=1250&CH=155&DPR=1.5&UTC=480&DM=0&BZA=0&BRW=N&BRH=S'}for i in range(1, int(page) + 1):url = "https://cn.bing.com/search?q=site:" + site + "&go=Search&qs=ds&first=" + str((int(i) - 1) * 10 + 1)html = requests.get(url, headers=headers)soup = BeautifulSoup(html.content, 'html.parser')job_bt = soup.findAll('h2')for j in job_bt:link = j.a.get('href')domain = str(urlparse(link).scheme + "://" + urlparse(link).netloc)if domain in Subdomain:passelse:Subdomain.append(domain)# 百度搜索
def baidu_search(site, page):headers = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/''85.0.4183.102 Safari/537.36','Referer': 'https://www.baidu.com/s?wd=nsfocus'}for i in range(1, int(page) + 1):# 拼接搜索链接baidu_url = "https://www.baidu.com/s?wd=site:" + site + "&pn=" + str((int(i) - 1) * 10) + "&oq=site:" + site + "&ie=utf-8"conn = requests.session()resp = conn.get(baidu_url, headers=headers)soup = BeautifulSoup(resp.text, 'lxml')tagh3 = soup.findAll('h3')for h3 in tagh3:href = h3.find('a').get('href')resp_site = requests.get(href,headers=headers)# 获取url链接地址domain = str(urlparse(resp_site.url).scheme + "://" + urlparse(resp_site.url).netloc)# 将子域名追加到列表中if domain in Subdomain:passelse:Subdomain.append(domain)# 从保存的文件中读取内容
def read_file():with open(r'c:\users\xxxx\desktop\xxx.txt', mode='r') as f:for line in f.readlines():print(line.strip())#    将结果写入文件
def write_file():with open(r'c:\users\xxx\desktop\xxx.txt', mode='w') as f:for domain in Subdomain:f.write(domain)f.write('\n')if __name__ == '__main__':# 需要用户传入需要查询的站点域名及希望查询的页数if len(sys.argv) == 3:domain = sys.argv[1]num = sys.argv[2]else:print("Usage: %s baidu.com 10" % sys.argv[0])sys.exit(-1)Subdomain = []# 多行程执行子域名查找bingt = Thread(target=bing_search, args=(domain, num,))bait = Thread(target=baidu_search, args=(domain, num,))bingt.start()bait.start()bingt.join()bait.join()# 写入文件write_file()

【信息安全】工具篇--子域名收集相关推荐

  1. js随机跳转域名_从代码角度看各类子域名收集工具

    作者:w7ay @ 知道创宇404实验室 开源的域名收集工具有很多,本文会从代码的角度去看各类开源的域名收集工具的技术特点,以及各有哪些优缺点,来帮助大家,在合适的时候选择合适的利用工具. 这里选取了 ...

  2. 小米范工具系列之九:小米范子域名收集工具

    小米范子域名收集工具为一款收集子域名(二级域名.三级域名.四级域名)的工具. 此工具使用java 1.8以上版本运行. 工具的工作流程如下: // 1.获取常用记录类型.MX NS SOA // 2. ...

  3. 子域名收集原理与子域名爆破工具

    子域名收集是渗透测试中,前期信息收集必不可少的一个阶段.域名是一个站点的入口,如果一个站点难以渗透,可以尝试从它的子域名或者同一台服务器上的另外一个站点作为突破口,从而进行较为隐秘的渗透测试. 最原始 ...

  4. oneforall子域名收集工具使用

    一 oneforall简介 一款强大的子域名收集工具,具有非常强大的功能.子域名收集是信息收集中必不可少且非常重要的一环,目前网上也开源了许多子域收集的工具. 二 oneforall安装 安装要求:P ...

  5. 新一代子域名收集工具

    项目描述 Sylas(塞拉斯)是我很喜欢的一款游戏<英雄联盟>(League of Legends)里的英雄.他在面板数值已经足够可观的情况下,其终极技能其人之道又能窃取其他英雄的终极技能 ...

  6. 子域名收集指南:python子域名收集

    做web安全相关一般都会接触到子域名收集,这篇文章主要介绍如何利用python脚本进行子域名收集,当然,关于子域名收集网络上有很多现成的很好用的网站和工具.不过当你亲自动手去用python写出一个子域 ...

  7. 信息收集——子域名收集

    一.子域名收集原因         1.子域名枚举可以在测试范围内发现更多的域或子域,这将增大漏洞发现的几率. 2.有些隐藏的.被忽略的子域上运行的应用程序可能帮助我们发现重大漏洞. 3.在同一个组织 ...

  8. 史上最全的子域名收集姿势

    史上最全的子域名收集姿势 1.被动子域名收集 2.主动子域名收集 3.2023-03附加 DNS域传送 存活性探测 1.被动子域名收集 信息泄露 Github .Gitee等代码仓库中,可能有相关子域 ...

  9. 子域名收集Google搜索引擎语法

    文章目录 0x01 子域名收集 VirusTotal DNSdumpster 在线子域名查询 子域名挖掘工具 0x02 Google搜索引擎语法 Google搜索语法 intext: intitle: ...

最新文章

  1. 高性能server分析 - Hadoop的RpcServer
  2. Jetson Xavier NX上安装scipy报错:numpy.distutils.system_info.NotFoundError: No lapack/blas resources found
  3. bitmapdata转成bytearray
  4. 架构 php_十年PHP架构师的成长之路,程序员必备
  5. 09_Android中ContentProvider和Sqllite混合操作,一个项目调用另外一个项目的ContentProvider
  6. RocketMQ错误消息重试策略之Consumer的重试机制(Exception情况)
  7. BZOJ 2566 xmastree(树分治+multiset)
  8. 百度开源移动端深度学习框架mobile-deep-learning(MDL)
  9. php 盒子边距,CSS 盒子模型外边距
  10. JAVA练习题1(初级基本数据类型、运算符)
  11. Altium中Smart PDF的使用
  12. Gitbub认证及代码提交
  13. CentOS-6.3安装配置JDK-7 - Constantin - 博客园
  14. 杂谈随想第002篇:博客访问量破万的想法
  15. 怎么把raw转换成jpg格式?推荐两个raw转jpg的方法
  16. 【我遇到了更好的你】
  17. 图象滤波器 Coherence-enhance shock filter 实现
  18. python12306买票_使用 py12306 购票
  19. oa系统需要邮箱服务器,OA办公系统与邮件系统DBMail无缝结合 - 操作步骤指导(无限用户¥2200)...
  20. 日子 (汪国真)

热门文章

  1. Linux文件类型发布啦!
  2. (二)安全计算-Threat Modelling威胁建模
  3. npm install 提示 path xxx/node_modules/node-sass npm ERR command failed 解决方法
  4. 通达OA审批流程添加水印功能,支持预览、办理和打印
  5. [从0开始机器学习]4.线性回归 正规方程
  6. 饮食干预减轻癌症治疗相关症状和毒性
  7. Google Net变种以及注意力机制
  8. Python KPM算法
  9. 什么是MES生产制造执行系统?实施系统有哪些好处?
  10. 计算机组成原理---实验报告