当前位置: 首页 > news >正文

python子域名收集工具

在网络安全领域中,发现和管理攻击面绝对是一项必须的任务,而对域名的寻找和分析是发现攻击面的重要步骤。今天我们将与您分享关于域名发现的四种方法,并附带Python示例代码来帮助您更好的理解和掌握这些方法。

1. 主域名链式证书提取域名信息(Chain of Trust from Root Domain)

import ssl
import OpenSSLdef get_cert_chain(domain):cert = ssl.get_server_certificate((domain, 443))x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)return [value for value in x509.get_subject().get_components()]print(get_cert_chain('example.com'))

2. 证书透明度日志(Certificate Transparency Logs)

import requestsdef query_crt_sh(domain):url = f"https://crt.sh/?q={domain}&output=json"response = requests.get(url)try:return [result['name_value'] for result in response.json()]except:return []print(query_crt_sh('example.com'))

3. 站长工具(Webmaster Tools)

import requests
from bs4 import BeautifulSoupdef query_webmaster_tools(domain):base_url = f"https://whois.chinaz.com/{domain}"page = requests.get(base_url)bs_obj = BeautifulSoup(page.text, "html.parser")return [pre.text for pre in bs_obj.find_all('pre')]print(query_webmaster_tools('example.com'))

4. 子域名爆破(Subdomain Enumeration)

对实际环境中常见的子域名前缀进行枚举。

import socketdef enum_subdomains(domain):common_subdomains = ['www', 'ftp', 'mail', 'webmail', 'admin']for subdomain in common_subdomains:full_domain = f"{subdomain}.{domain}"try:# if the subdomain resolves, it existssocket.gethostbyname(full_domain)print(f"Discovered subdomain: {full_domain}")except socket.gaierror:passenum_subdomains('example.com')

根据目标和环境选择适合的工具进行深入挖掘总能帮助我们更好的发现攻击面。希望以上的信息会对你有所帮助。

写在最后

云图极速版支持包含上述几种在内的 20 余种域名发现方式,通过智能编排的方式动态调用以实现域名发现覆盖度的最大化。除此之外,云图极速版还支持 IP 发现、端口、服务、网站、组件、漏洞、安全风险等多种企业资产信息的全自动发现与监控。实现攻击面发现与攻击面管理的自动化。

相关文章:

  • 三防平板丨平板终端丨加固平板丨仓库管理应用
  • 软考-中级-系统集成2023年综合知识(一)
  • OpenWRT部署web站点并结合内网穿透实现无公网ip远程访问
  • Git合并固定分支的某一部分至当前分支
  • 如何使用useMemo来优化性能
  • 基于 Amazon EC2 和 Amazon Systems Manager Session Manager 的堡垒机的设计和自动化实现
  • jsx语言和js语言的区别
  • Cartographer框架简述
  • 【踩坑专栏】主机ping虚拟机失败
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • 人工智能学习与实训笔记(二):神经网络之图像分类问题
  • 单例模式的介绍
  • 鸿蒙自定义侧滑菜单布局(DrawerLayout)
  • 《VitePress 简易速速上手小册》第8章 安全性与部署(2024 最新版)
  • ChatGPT丨成像光谱遥感技术中的AI革命:ChatGPT应用指南
  • 03Go 类型总结
  • axios 和 cookie 的那些事
  • git 常用命令
  • isset在php5.6-和php7.0+的一些差异
  • Java超时控制的实现
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Just for fun——迅速写完快速排序
  • k个最大的数及变种小结
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • springMvc学习笔记(2)
  • Spring核心 Bean的高级装配
  • windows下mongoDB的环境配置
  • 工程优化暨babel升级小记
  • 前嗅ForeSpider教程:创建模板
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • elasticsearch-head插件安装
  • 我们雇佣了一只大猴子...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • "无招胜有招"nbsp;史上最全的互…
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #控制台大学课堂点名问题_课堂随机点名
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (LeetCode) T14. Longest Common Prefix
  • (八)Spring源码解析:Spring MVC
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (一)认识微服务
  • (转)ORM
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • *** 2003
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET Core 项目指定SDK版本
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET 材料检测系统崩溃分析
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)