利用Python实现子域名简单收集
免责申明
本文仅是用于学习研究子域名信息收集,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《中华人民共和国网络安全法》【学法时习之丨网络安全在身边一图了解网络安全法_中央网络安全和信息化委员会办公室】及其所在国家地区相关法规内容 如您继续阅读该文章即表明您默认遵守该内容。
一、需求描述
正常我们对子域名信息进行主动收集的时候是对一个个子域名进行ping之类的方法收集,查看是否有对应的IP地址返回;这样的话会很慢,效率太低;我们希望可以提高效率可以让程序自动获取到有用的子域名内容。
二、实现思路
我们可以使用Python程序结合子域名字典进行枚举获取;但是使用字典枚举获取有局限【即能获取到多少子域名信息,完全取决于字典的覆盖程度】
请注意:使用程序进行自动获取子域名内容的时候会造成较大的流量,可能会触发目标系统的安全产品的警告。
三、简单子域名字典枚举方法获取
3.1、获取子域名字典
GitHub - TheKingOfDuck/fuzzDicts: You Know, For WEB Fuzzing ! 常用的字典。You Know, For WEB Fuzzing ! 日站用的字典。. Contribute to TheKingOfDuck/fuzzDicts development by creating an account on GitHub.https://github.com/TheKingOfDuck/fuzzDicts
3.2、简单的Python配合字典收集子域名
#!/usr/bin/env python3
# -*- coding: utf-8 -*-"""
-------------------------------------------------------------------------------
Title:"网安渗透" 项目主题:子域名信息收集
Description:功能:1、根据主域名与子域名字典获取到所有可用的域名
Date:2024
Version:0.1
Author:Coffee
Environment:Python 3.x
Modify Recoder:
-------------------------------------------------------------------------------
"""
import socket
import os
import sys
import time'''收集域名信息mainDomain:主域名(如:baidu.com)domainDic:子域名字典(子域名字典内容如:www、shop、it等)saveDomainFile:保存子域名与主域名的文件
'''
def CollectSubDomain(mainDomain,domainDic,saveDomainFile):for subDomain in open(domainDic):subDomain = subDomain.replace('\n', '')fullDomain = f'{subDomain}.{mainDomain}'try:domainIP = socket.gethostbyname(fullDomain)fullDomainAndIp = f'{fullDomain}-->{domainIP}'print(fullDomainAndIp)saveDomainFile.write(fullDomainAndIp+"\n")time.sleep(0.5)except Exception as e:passsaveDomainFile.close()'''使用参数收集子域名信息使用方法示例:CollectSubDomainName.py -dd dic.txt -md baidu.com
'''
def usePara_CollectSubDomain():realPara = sys.argvusePara = ['-dd','-md']domainDic = getCurNextData(usePara[0],realPara)print(f"域名字典:{domainDic}")mainDomain = getCurNextData(usePara[1], realPara)print(f"主域名:{mainDomain}")f = open(f'{mainDomain}.txt', 'a')CollectSubDomain(mainDomain,domainDic,f)'''获取当前内容的下一个数据curData:当前数据ListData:列表
'''
def getCurNextData(curData,ListData):if curData in ListData:nextData=ListData[ListData.index(curData)+1]return nextDataif __name__ == '__main__':if len(sys.argv) == 5:usePara_CollectSubDomain()else:mainDomain = input("请输入需要收集的主域名字(如:coffee.com):")domainDic = input("请输入需要使用的子域名字典(如:c:\\\\dic.txt):")if not mainDomain or not domainDic:exit(0)else:f = open(f'{mainDomain}.txt', 'a')CollectSubDomain(mainDomain,domainDic,f)
四、其他关于子域名信息收集的资料
信息收集系列|子域名收集姿势总结 - FreeBuf网络安全行业门户https://www.freebuf.com/vuls/328801.html史上最全的子域名搜集方法(证书透明度/DNS记录/威胁情报/代码仓库/dns暴力破解/各种细节)背景信息收集在安全测试当中有相当重要的作用,信息收集的程度决定了安全测试的广度和深度,而在信息收集中,初期的子域名收集尤为重要。本文将从主动信息收集和被动信息收集两个维度阐述子域名收集的方法,并给出详细的网址,方便大家查询。子域名收集一、被动信息收集 利用Google提出的证书透明度(Certifi
https://www.cnblogs.com/bighammerdata/p/13268624.html子域名探测方法大全子域名探测方法 在线接口 暴力枚举 搜索引擎 Certificate Transparency(证书透明) Subject Alternate Name (SAN) - 主题备用名称 Public datasets(公开数据集) 信息泄露 内容解析(HTML,JavaScript,文件) DNS解析
https://www.cnblogs.com/forforever/p/14197630.html红蓝对抗之域名搜集方法总结 - 博客 - 腾讯安全应急响应中心 腾讯安全应急响应中心,Tencent Security Response Center,TSRC
https://security.tencent.com/index.php/blog/msg/161
相关文章:
利用Python实现子域名简单收集
免责申明 本文仅是用于学习研究子域名信息收集,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《中华人民共和国网络安全法》【学法…...
npm发布插件到私有仓库保姆级教程
在开发项目的过程中,我们经常需要安装插件依赖,那么怎么把自己开发的组件封装成一个插件,并发布到npm 插件市场或者上传到私有仓库里面呢?今天总结下自己发布插件到私有仓库的记录: 一、创建组件 执行命令创建一个空…...
利用Java easyExcel库实现高效Excel数据处理
在Java应用程序中,处理Excel文件是一项常见任务,尤其是在需要读取、写入或分析大量数据时。easyExcel是一个基于Java的高性能Excel处理库,它提供了简洁的API和优化的性能,以简化Excel文件的处理。本文将指导您如何使用easyExcel库…...
基于Springboot的校园交友网站设计与实现
1.1 管理信息系统概述 管理信息系统是计算机在信息管理领域的一种实用技术。通过运用管理科学、数学和计算机应用的原理及方法,在符合软件工程规范的原则下,形成一套完整的理论和方法体系。是一个以人、计算机和其他外部设备组成的可以进行信息的收集、…...
android studio 读写文件操作(应用场景三)
android studio版本:2023.3.1 patch2 例程:filesaveandread 其实我写这个都是我记录我要做后个数独小游戏,每一个都是为了解决一个问题。即是分享也是备忘,反正我什么都不会,就是一顿瞎改,不行就研究。这…...
小程序 —— Day1
组件 — view和scroll-view view 类似于HTML中的div,是一个块级元素 案例:通过view组件实现页面的基础布局 scroll-view 可滚动的视图区域,用来实现滚动列表效果 案例:实现纵向滚动效果 scroll-x属性:允许横向滚动…...
使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo
使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo,可以帮助你理解如何在多GPU或多节点环境中高效地训练深度学习模型。Horovod 是 Uber 开发的一个用于分布式训练的框架,它支持 TensorFlow、Keras、PyTorch 等多个机器学习库。下面是一个基于 P…...
【Linux】以 CentOS 为例备份与恢复/home分区,并调整分区容量
在 Linux 系统中,这里举例对 /home 目录进行备份、重建和恢复操作,并调整分区大小、更换文件系统或修复损坏的分区等。 〇、前提条件 确认文件系统类型为 xfs。 确认 /home 目录确实没有重要数据,或者已经做好了数据备份。 确保在执行这些…...
OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用
OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用 文章目录 OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用RFT的工作原理与应用领域案例研究:基因突变…...
神经网络的梯度反向传播计算过程,举例说明
目录 神经网络的梯度反向传播计算过程 网络结构 权重和偏置 激活函数 前向传播 损失函数 反向传播 参数更新 举例 神经网络的梯度反向传播计算过程 为了说明神经网络的梯度反向传播计算过程,我们考虑一个简单的全连接网络,该网络有一个输入层、一个隐藏层和一个输出…...
定点数乘法:补码一位算法(booth算法)
方法 初始化 将被乘数A放在寄存器A中。 将乘数B放在寄存器B中,并在最低位添加一个额外的位Q(-1) 0。 结果寄存器P初始化为0,长度为2n位。 迭代过程(重复n次) 对于i从0到n-1: 检查乘数B的最后两位(B 和…...
robots.txt
robots.txt 文件是网站管理者用来告知搜索引擎爬虫(也称为机器人或蜘蛛)哪些页面可以抓取,哪些页面不应该被抓取的一种文本文件。它位于网站的根目录下,并且文件名必须全部小写。这个文件对于SEO(搜索引擎优化…...
如何用 JavaScript 操作 DOM 元素?
如何用 JavaScript 操作 DOM 元素?——结合实际项目代码示例讲解 在前端开发中,DOM(文档对象模型)操作是与页面交互的核心。通过 DOM 操作,开发者可以动态地修改页面内容、响应用户交互、控制样式等。JavaScript 提供…...
vue3使用后端传递的文件流进行文件预览
文章目录 一、 注意事项1、responseType设置为:arraybuffer2、Blob设置type,来源于后台封装的response.headers[content-type]3、使用encodeURIComponent(),避免符号影响文件名 二、java接口 一、 注意事项 1、responseType设置为࿱…...
ubuntu20.04设置远程桌面
安装xrdp sudo apt install xrdp 2、 检查xrdp状态 sudo systemctl status xrdp3、(若为Ubuntu 20)添加xrdp至ssl-cert sudo adduser xrdp ssl-cert 4、重启服务 sudo systemctl restart xrdp最后可以远程了,注意一个账号只能一个登录...
在vue3里使用scss实现简单的换肤功能
实现的换肤功能:主题色切换、亮色模式和暗黑模式切换、背景图切换 主题色就是网站主色,可以配置到组件库上面;亮色模式又分为两种风格:纯白风格和背景图风格,不需要背景图的话可以删掉这部分逻辑和相关定义;…...
flyway执行sql遇到变量执行报错解决
前两天在公司使用flyway工具执行sql时,开发写的sql里面有变量,于是这个flyway工具不识别这个变量直接报错,不接着往下执行了。报错信息如下: flyway工具执行sql报错 information: No value provided for placeholder: ${ep1} 于是…...
解谜类游戏《迷失岛2》等如何抽象出一套通用高效开发框架?
解谜类游戏以精妙的谜题设计和引人入胜的故事叙述为特点,考验着玩家的智慧与观察力。《迷失岛2》与《南瓜先生2九龙城寨》正是这一领域的佳作。游戏以独特的艺术风格和玩法设计吸引了大量玩家,而它们背后隐藏着一套强大的框架。 上海胖布丁游戏的技术总…...
Ant Design Vue v4版本如何解决1px没有被postcss-px2rem转成rem的问题
背景说明 如果你的 Ant Design Vue 项目有要做适配的需求,那首先要选择一种适配方案。笔者选择的是用 postcss-px2rem 进行适配。笔者在配置了 postcss-px2rem的相关配置后,发现 postcss-px2rem 没有对 Ant Design Vue 进行适配。在网上看了一些文章之后…...
【系统架构设计师论文】云上自动化运维及其应用
随着云计算技术的迅猛发展,企业对云资源的需求日益增长。为了应对这一挑战,云上自动化运维(CloudOps)应运而生,它结合了DevOps理念和技术,通过自动化工具和流程来提高云环境的管理效率和服务质量。本文将探讨云上自动化运维的主要衡量指标,并详细介绍一个实际项目中如何…...
河南地质灾害资质办理的政策
一、资质分类 资质等级: 甲级资质:由自然资源部审批管理,适用于承担大型地质灾害防治项目。 乙级资质:由省、自治区、直辖市自然资源主管部门审批管理,适用于承担中型地质灾害防治项目。 丙级资质:由省…...
单例模式--懒汉 饿汉模式
一.啥是单例模式? 先介绍一下设计模式: 设计模式好⽐象棋中的 "棋谱". 红⽅当头炮, ⿊⽅⻢来跳. 针对红⽅的⼀些⾛法, ⿊⽅应招的时候有⼀些固定的套路. 按照套路来⾛局势就不会吃亏. 软件开发中也有很多常⻅的 "问题场景". 针对这些问题…...
HDD 2025年技术趋势深度分析报告
随着数据量的指数级增长以及人工智能(AI)、物联网(IoT)、云计算和视频监控等领域的需求激增,硬盘驱动器(HDD)行业正面临着前所未有的挑战与机遇。本报告旨在深入剖析2025年HDD技术的发展方向&am…...
关于uni-app的uni.showModal和indexOf的使用
这里使用showModal时,这个里面的content需要使用到字符串的形式,不能用到number类型 uni.showModal({title: 提示,content: "hello",success: function (res) {if (res.confirm) {console.log(用户点击确定);} else if (res.cancel) {console…...
Spring Data Elasticsearch
简介说明 spring-data-elasticsearch是比较好用的一个elasticsearch客户端,本文介绍如何使用它来操作ES。本文使用spring-boot-starter-data-elasticsearch,它内部会引入spring-data-elasticsearch。 Spring Data ElasticSearch有下边这几种方法操作El…...
汇编语言简要记录-1
汇编语言与汇编指令 汇编语言的主题是汇编指令 汇编指令与机器指令的差别在于指令的表示方法上 1、汇编指令是机器机器指令便于记忆的书写格式 2、汇编指令是机器指令的助记符 ag:机器指令 1000100111011000操作:将寄存器BX的值送到AX中汇编指令 MOV …...
Java程序猿搬砖笔记(十七)
文章目录 MySQL触发器ElasticSearch按日期分组查询每天的文档数量MySQL中order by排序将null排在最前或者最后面swagger3.0默认访问路径swagger3.0模块化配置MySQL中要少用UNION,多用UNION ALLElasticSearch Bucket & Metric聚合分析及嵌套聚合Mysql case when做…...
代码设计:设计模式:观察者模式
文章目录 定义类结构应用总结 定义 实现响应式编程的代码设计,即触发事件或数据变化时,将数据从被观察者类通过观察器传递给观察者处理,即被观察者类间接调用观察者类的方法处理事件或数据 类结构 被观察者类、观察器类、观察者类 被观察…...
第32天:安全开发-JavaEE应用Servlet路由技术JDBCMybatis数据库生命周期
时间轴: 32天主要学习内容: 1、JavaEE-HTTP-Servlet技术 2、JavaEE-数据库-JDBC&Mybatis java技术使用历史(2023 ): JavaEE-HTTP-Servlet&路由&周期: java学习范围: 3、Java: 功能:数据…...
如何使用Apache HttpClient来执行GET、POST、PUT和DELETE请求
Apache HttpClient 是一个功能强大且灵活的库,用于在Java中处理HTTP请求。 它支持多种HTTP方法,包括GET、POST、PUT和DELETE等。 本教程将演示如何使用Apache HttpClient来执行GET、POST、PUT和DELETE请求。 Maven依赖 要使用Apache HttpClient&…...
Next.js 系统性教学:加载界面、重定向与路由分组
更多有关Next.js教程,请查阅: 【目录】Next.js 独立开发系列教程-CSDN博客 目录 1. 加载界面与流式渲染 1.1 加载界面 (loading.js) 1.2 流式渲染 2. 路由重定向 2.1 基于服务器的重定向 2.2 动态重定向 2.3 中间件中的重定向 3. 路由分组 3.1…...
哪款云手机适合多开?常用云手机功能对比
在全球化和数字化时代,云手机以其独特的灵活性和高效性,成为多账号运营和数字营销的热门工具。云手机能够解决传统设备管理的诸多痛点,例如账号关联、硬件成本高等问题。本文将为您推荐多款优质云手机品牌,帮助您选择最适合的工具…...
基于openzeppelin插件的智能合约升级
一、作用以及优点 部署可升级合约,插件自动部署proxy和proxyAdmin合约,帮助管理合约升级和交互;升级已部署合约,通过插件快速升级合约,脚本开发方便快捷;管理代理管理员的权限,只有proxyAdmin的…...
WGAN生成对抗网络数据生成
数据生成 | WGAN生成对抗网络数据生成 目录 数据生成 | WGAN生成对抗网络数据生成生成效果基本描述程序设计参考资料 生成效果 基本描述 1.WGAN生成对抗网络,数据生成,样本生成程序,MATLAB程序; 2.适用于MATLAB 2020版及以上版本&…...
SQL面试题——拼多多SQL面试题 求连续段的起始位置和结束位置
拼多多SQL面试题 求连续段的起始位置和结束位置 今天的题目来自拼多多,我们先看一下题目描述 有一张表ids记录了id,id不重复,但是会存在间断,求出连续段的开始位置和结束位置 +---+ | id| +---+ | 1| | 2| | 3| | 5| | 6| | 8| | 10| | 12| | 13| | 14| | 15| +--…...
Contextual Affinity Distillation for Image Anomaly Detection
Contextual Affinity Distillation for Image Anomaly Detection 日本东北大学 摘要 先前对无监督工业异常检测的研究主要通过匹配或学习局部特征表示来关注“结构”类型的异常,例如裂纹和颜色污染。虽然在这种异常上实现了显着的高检测性能,但他们面…...
如何在HTML中修改光标的位置(全面版)
如何在HTML中修改光标的位置(全面版) 在Web开发中,控制光标位置是一个重要的技巧,尤其是在表单处理、富文本编辑器开发或格式化输入的场景中。HTML中的光标位置操作不仅适用于表单元素(如<input>和<textarea…...
Spring Cloud Alibaba(六)
目录: 分布式链路追踪-SkyWalking为什么需要链路追踪什么是SkyWalkingSkyWalking核心概念什么是探针Java AgentJava探针日志监控实现之环境搭建Java探针日志监控实现之探针实现编写探针类TestAgent搭建 ElasticsearchSkyWalking服务环境搭建搭建微服务微服务接入Sky…...
Http请求系列---【http的几个请求时间分别代表什么?以及如何设置?】
在HTTP客户端编程中,通常涉及以下几种关键的超时设置: 连接超时 (connectTimeout): 定义:在与服务器建立连接时等待的最大时间。这包括DNS解析时间、连接建立时间等。作用:如果在指定的时间内无法建立连接,…...
如何将CSDN博客下载为PDF文件
1.打开CSDN文章内容 2.按键盘上的f12键(或者右键—审查元素)进入浏览器调试模式,点击控制台(Console)进入控制台 3.在控制台输入以下代码,回车 4.在弹出的打印页面中将布局设置成横向,纵向会…...
关于IDEA 2024.2.1 Java EE 无框架配置Tomcat环境以及servlet使用教程
前言 这里的IDEA使用的是专业版,大学生认证后即可使用,社区版没有接触过暂不提,如果你是社区版,那么很可惜,本博客并不适用。本博客适用于java web刚入门的朋友学习使用,并不适用于高级部署。注意…...
【23种设计模式】七种设计原则:理论与 Java 实践
文章目录 23 种设计模式之七种设计原则:理论与 Java 实践一、单一职责原则(SRP - Single Responsibility Principle)(一)理论介绍(二)Java 实现示例(三)关键步骤…...
数据库与数据库管理系统概述
title: 数据库与数据库管理系统概述 date: 2024/12/7 updated: 2024/12/7 author: cmdragon excerpt: 在信息化迅速发展的时代,数据已成为企业和组织的重要资产。数据库与数据库管理系统(DBMS)是高效存储、管理和利用数据的核心工具。本文首先定义了数据库的基本概念和特…...
42_GAN网络详解(2)---常见的GAN
DCGAN CGAN 条件生成对抗网络(Conditional Generative Adversarial Networks, CGAN)是生成对抗网络(Generative Adversarial Networks, GAN)的一种变体,由Mehdi Mirza和Simon Osindero在2014年提出。CGAN的主要改进在…...
目前国内【齿轮检测仪】行业整体较为分散,行业竞争日趋激烈
摘要 根据 HengCe (恒策咨询)的统计及预测,2023年全球齿轮检测仪市场销售额达到了6.2亿美元,预计2030年将达到9.4亿美元,年复合增长率(CAGR)为6.0%(2024-2030)。地区层面来看&#…...
【学习路线】Java
Java基础 基础 基础语法 面向对象 集合框架 JCF 进阶 并发编程 JVM 企业级开发 框架 Spring Boot Spring Cloud 分布式 高性能 高可用 安全 基建 Docker 实战 数据库 MySQL Redis 计算机基础 计算机组成原理 操作系统 计算机网络 数据结构与算法 设计模式 参考:…...
一文说清flink从编码到部署上线
引言:目前flink的文章比较多、杂,很少有一个文章,从一个简单的例子入手,说清楚从编码、构建、部署全流程是怎么样的。所以编写本文,自己做个记录备查同时跟大家分享一下。本文以简单的mysql cdc为例展开说明。 环境说明…...
dolphinScheduler 任务调度
#Using docker-compose to Start Server #下载:https://dlcdn.apache.org/dolphinscheduler/3.1.9/apache-dolphinscheduler-3.1.9-src.tar.gz $ DOLPHINSCHEDULER_VERSION3.1.9 $ tar -zxf apache-dolphinscheduler-"${DOLPHINSCHEDULER_VERSION}"-src.t…...
【opencv入门教程】14. 矩阵乘除运算
文章选自: 一、函数multiply、divide //乘法 CV_EXPORTS_W void multiply(InputArray src1, InputArray src2,OutputArray dst, double scale 1, int dtype -1); brief 计算两个数组的每个元素的按比例缩放乘积 note 当输出数组的深度为 CV_32S 时,…...
SpEL
SPEL(Spring Expression Language)是一个强大的 支持查询和操作对象的表达式语言 Spring:https://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/expressions.html#expressions 表达式语言支持以下功能 文本…...