信息收集简介
- 定义
- 信息收集是渗透测试和网络安全评估等活动的初始关键阶段。它是指通过各种合法手段(如网络扫描、查询公开数据库、社会工程学等),收集与目标系统(包括网络、主机、应用程序、组织等)相关的信息,这些信息有助于后续对目标系统的安全性进行分析、发现潜在漏洞以及制定攻击或测试策略。
- 重要性
- 提供基础数据:信息收集就像是搭建房子的基石。例如,在渗透测试中,只有先了解目标系统的网络架构、开放端口、运行的服务等信息,才能有针对性地寻找可能存在的漏洞。如果没有准确的信息收集,后续的漏洞扫描和利用就会像无头苍蝇一样盲目。
- 帮助理解目标环境:可以使安全人员或渗透测试人员更好地理解目标系统的全貌。比如,通过收集组织架构和人员信息,能够推测出信息系统的管理模式和可能存在的薄弱环节。对于一个企业来说,了解其内部有哪些部门使用特定的业务系统,有助于评估该业务系统被误用或攻击的风险程度。
- 发现潜在入口点:在收集信息的过程中,可能会发现一些意外的入口点。例如,通过搜索引擎发现企业某个测试服务器的未授权访问页面,这可能成为后续测试的重点突破点,因为这些容易被忽视的入口往往是安全防护的薄弱环节。
- 信息收集的范围
- 网络信息:包括目标系统的网络拓扑结构、IP 地址范围、子网掩码、网关地址等。通过网络扫描工具可以获取目标网络中有哪些主机处于活动状态,以及这些主机开放了哪些端口,如常见的 HTTP 服务的 80 端口、SSH 服务的 22 端口等,还能确定端口上运行的服务及其版本信息。
- 域名信息:主要是对目标域名进行调查。如通过 Whois 查询获取域名所有者、注册日期、过期日期、注册商等信息;通过 DNS 查询挖掘目标域名下的子域名,以及主机记录(A 记录)、别名记录(CNAME 记录)等。这些信息对于了解目标网络的层次结构和关联关系非常重要。
- 应用程序信息:对于 Web 应用等软件系统,需要收集应用的名称、版本、所使用的技术框架(如是否使用了 Spring 框架、Django 框架等)、功能模块(如用户登录注册模块、文件上传模块等)等。了解这些信息可以帮助判断应用程序可能存在的漏洞类型,例如,使用较老版本的 Web 框架可能存在已知的安全漏洞。
- 组织和人员信息:包括目标组织的架构、部门设置、主要联系人信息、员工的社交媒体信息等。这部分信息在社会工程学攻击或者评估内部人员违规操作风险时非常有用。例如,通过了解员工在社交媒体上发布的工作相关内容,可能获取到系统账号、密码等敏感线索。
为什么要进行信息收集
- 为后续攻击或测试提供基础蓝图
- 就像建筑施工前需要建筑蓝图一样,在进行网络攻击或者安全测试时,信息收集可以描绘出目标系统的架构和运行情况。通过收集网络拓扑结构、IP 地址范围、开放端口和运行服务等信息,渗透测试人员或者攻击者能够了解目标系统的 “骨架”。例如,知道目标网络中有哪些服务器、它们之间是如何连接的,就可以确定从何处入手进行进一步的探测。如果发现某个服务器开放了远程管理端口,且没有足够的安全防护措施,那么这个端口就可能成为后续攻击的一个潜在入口。
- 发现潜在的安全薄弱环节
- 信息收集能够帮助发现目标系统中可能存在的安全漏洞。通过收集应用程序的版本信息,就可以与已知的安全漏洞数据库进行对比。例如,若发现目标 Web 应用使用的是一个存在 SQL 注入漏洞的旧版本框架,那么这就是一个明显的安全隐患。同时,收集域名信息可能会发现一些被遗忘或者配置错误的子域名,这些子域名往往因为没有得到足够的重视而更容易被攻击。例如,企业可能会在升级主网站的安全防护措施时,忽略了对测试环境子域名的防护,而信息收集过程中发现这个子域名后,就可以针对其进行漏洞扫描和攻击尝试。
- 理解目标系统的运行环境和业务逻辑
- 对于复杂的系统和业务流程,了解其运行环境和业务逻辑是至关重要的。通过收集组织架构、人员信息以及业务流程相关的内容,可以推测出系统中哪些部分是关键业务区域,哪些是容易被内部人员误用或者外部攻击的环节。例如,在一个电商企业中,通过收集信息了解到订单处理系统是整个业务的核心,且涉及大量的用户数据和资金交易。同时,还发现订单处理系统的部分功能(如订单修改模块)可能因为业务需求而开放了较多的权限给客服人员。那么,这部分功能就可能成为安全防护的重点区域,因为内部人员的误操作或者外部攻击者通过社会工程学手段伪装成客服人员进行攻击的风险较高。
- 评估风险等级
- 基于收集到的信息,可以对目标系统的安全风险进行初步评估。例如,通过分析网络配置信息,发现目标系统所在的网络环境没有部署防火墙或者入侵检测系统,这就意味着系统面临的外部攻击风险较高。另外,如果收集到的数据显示系统存储了大量的敏感信息(如用户的个人身份信息、财务信息等),并且安全防护措施相对薄弱,那么一旦发生安全事件,其造成的损失将是巨大的,这种情况下风险等级就会很高。通过信息收集对风险等级的评估,可以帮助确定后续安全工作的重点方向和资源分配。
信息收集的分类
- 主动信息收集
- 定义:主动信息收集是指渗透测试人员通过主动向目标系统发送探测请求,以获取相关信息的方式。这种方式会与目标系统产生直接的交互,容易被目标系统检测到。
- 示例及技术手段
- 网络扫描:
- 使用工具如 Nmap 对目标网络进行扫描,通过发送 TCP、UDP 等协议的探测包来确定目标网络中的主机存活情况、开放端口以及端口上运行的服务和版本。例如,Nmap 的 “-sS -sV” 参数组合可以进行 TCP SYN 扫描并识别服务版本。这种扫描方式会在网络中产生大量的数据包流量,目标网络中的入侵检测系统(IDS)或防火墙可能会检测到异常的扫描行为。
- 应用程序探测:
- 对于 Web 应用,可以通过发送特定的 HTTP 请求来探测应用的架构和功能。例如,向目标 Web 服务器发送不同的 URL 请求,观察服务器的响应,从而确定是否存在某些特定的页面或功能模块。还可以通过工具如 Burp Suite 进行主动的 Web 应用扫描,向应用程序发送各种可能导致漏洞的输入(如 SQL 注入尝试、跨站脚本攻击(XSS)尝试等),以发现应用程序的安全漏洞。
- 网络扫描:
- 被动信息收集
- 定义:被动信息收集是指在不直接与目标系统进行交互的情况下,通过各种公开的信息源收集目标系统相关信息的方式。这种方式相对隐蔽,不容易被目标系统察觉。
- 示例及技术手段
- 公开信息查询:
- Whois 查询:通过查询域名注册商的数据库来获取域名的注册信息,包括域名所有者、注册日期、过期日期、注册商等。例如,访问专门的 Whois 查询网站或者使用命令行工具(如 Linux 系统中的 “whois” 命令),输入目标域名,就可以获取这些信息。这些信息可以帮助了解目标组织的基本情况,为后续的渗透测试或安全评估提供线索。
- DNS 查询:通过查询 DNS 服务器来获取域名相关的记录,如 A 记录(主机记录,将域名映射到 IP 地址)、CNAME 记录(别名记录)、MX 记录(邮件交换记录)等。可以使用工具如 nslookup 或 dig 进行 DNS 查询。挖掘目标域名下的子域名也是 DNS 查询的一个重要应用,例如,通过查询发现企业的某个测试子域名,这个子域名可能因为安全措施不完善而成为潜在的攻击入口。
- 搜索引擎利用:
- 使用搜索引擎(如 Google、Bing 等)通过高级搜索语法来查找与目标相关的信息。例如,使用 “site:[目标域名]” 语法可以搜索该域名下的所有页面,可能会发现一些未授权公开的文档、内部网络结构线索、旧版本的应用程序界面等敏感信息。另外,还可以搜索与目标组织相关的新闻、论坛帖子、社交媒体信息等,从侧面了解目标组织的业务情况、人员信息等。
- 公开信息查询:
收集那些信息
- 网络信息
- 网络拓扑结构:了解目标网络是如何布局的,包括有多少个子网、不同网段之间是如何连接的,以及关键网络设备(如路由器、交换机)的位置和连接关系。例如,通过 Traceroute 工具可以追踪数据包在网络中的路径,从而推测网络的层次结构。
- IP 地址信息:确定目标网络中的 IP 地址范围,包括内部使用的私有 IP 地址段(如 192.168.x.x、10.x.x.x 等)和对外提供服务的公有 IP 地址。同时,要收集特定服务器、网络设备的 IP 地址,这些信息对于后续的扫描和攻击定位非常重要。
- 开放端口与服务:通过网络扫描工具(如 Nmap)发现目标主机上开放的端口,例如常见的 HTTP 服务的 80 端口、HTTPS 服务的 443 端口、SSH 服务的 22 端口、FTP 服务的 21 端口等。并且要识别每个开放端口上运行的服务及其版本,因为许多安全漏洞是与特定服务版本相关的。
- 域名信息
- 注册信息:通过 Whois 查询获取域名所有者的详细信息,包括姓名、组织名称、联系电话、电子邮件地址等。还能了解域名的注册日期、过期日期和注册商。这些信息可以用于社会工程学攻击或进一步了解目标组织的背景。
- DNS 记录:包括 A 记录(将域名映射到 IP 地址)、CNAME 记录(别名记录)、MX 记录(邮件交换记录)等。挖掘子域名也很关键,例如,企业可能会有主网站域名和多个用于不同业务或测试目的的子域名,这些子域名可能存在安全漏洞而未被发现。
- 应用程序信息
- 应用名称和版本:对于 Web 应用、桌面应用或移动应用等,要确定其名称和版本号。例如,对于一个 Web 应用,通过查看页面源代码中的元数据、HTTP 响应头或者特定的版本标识页面,可以获取应用的版本。旧版本的应用程序可能存在已知的安全漏洞,需要重点关注。
- 应用架构和技术栈:了解应用程序是基于何种技术框架构建的,如 Web 应用是使用了 Spring Boot、Django 还是其他框架;数据库是采用 MySQL、Oracle 还是其他类型;前端是否使用了特定的 JavaScript 库等。这些信息有助于推测可能存在的漏洞类型。例如,使用某些特定的 JavaScript 库可能存在跨站脚本攻击(XSS)漏洞。
- 功能模块和业务逻辑:掌握应用程序有哪些功能模块,如用户登录注册、文件上传下载、订单处理等。并且要理解各个功能模块之间的业务逻辑关系,例如,在用户登录后,哪些权限被授予,这些权限如何与其他功能模块交互等。这对于发现业务逻辑漏洞很重要。
- 组织和人员信息
- 组织架构:了解目标组织的部门设置、各部门的职责范围和相互关系。例如,知道企业的 IT 部门负责哪些系统的维护,市场部门如何与客户数据交互等,有助于评估内部人员操作风险和安全管理漏洞。
- 人员联系方式和角色:收集员工的姓名、职位、电话号码、电子邮件地址等信息。这些信息可以用于社会工程学攻击,如伪装成内部员工或合作伙伴进行信息获取。同时,了解不同人员在系统中的角色(如系统管理员、普通用户、数据录入员等)有助于确定攻击的重点目标。
- 员工社交媒体信息:通过社交媒体平台收集员工发布的工作相关内容,如工作环境照片、对工作项目的抱怨等。这些信息可能会泄露一些关于系统安全的线索,如办公地点的网络设备品牌和型号、未加密的内部文件名称等。
域名介绍
- 定义与基本概念
- 域名是互联网上用于识别和定位计算机或网络服务的名称。它就像是互联网中的地址,人们通过域名来访问网站、邮件服务器等各种网络资源。例如,“baidu.com” 是百度公司网站的域名,用户在浏览器中输入这个域名,就能访问百度的网页服务。
- 域名是由一串用点分隔的字符组成,从右到左依次为顶级域名(TLD)、二级域名、三级域名等。以 “mail.example.com” 为例,“com” 是顶级域名,表示商业机构;“example” 是二级域名;“mail” 是三级域名,它可以用于特定的服务,如邮件服务。
- 域名系统(DNS)的关联
- 域名系统(DNS)是将域名和 IP 地址相互映射的分布式数据库系统。当用户在浏览器中输入域名时,计算机需要通过 DNS 来查找对应的 IP 地址,才能建立与目标服务器的连接。例如,浏览器会向本地 DNS 服务器发送请求,本地 DNS 服务器如果没有缓存该域名对应的 IP 地址,就会向上一级 DNS 服务器查询,直到找到能够解析该域名的权威 DNS 服务器,获取 IP 地址后,浏览器才能与目标服务器通信。
- 域名的分类
- 按顶级域名分类:
- 通用顶级域名(gTLD):如 “.com”(商业公司)、“.org”(非营利组织)、“.net”(网络服务提供商)、“.edu”(教育机构)等。这些域名被广泛应用于各种类型的组织和机构,用于标识其在互联网上的身份和服务范围。
- 国家及地区顶级域名(ccTLD):由各个国家或地区的代码组成,如 “.cn” 代表中国、“.us” 代表美国、“.jp” 代表日本等。这些域名主要用于在特定国家或地区内提供服务或标识所属地区的机构。
- 新通用顶级域名(new gTLD):近年来新增的通用顶级域名,如 “.app”(用于移动应用)、“.blog”(用于博客)、“.shop”(用于在线购物)等,为不同的行业和应用场景提供了更具针对性的域名选择。
- 按用途分类:
- 主域名:是一个组织或个人在互联网上的主要标识,通常用于官方网站、核心业务等。例如,一家公司的官网域名 “companyname.com” 就是主域名。
- 子域名:是主域名下的分支,用于区分不同的部门、服务或功能。比如,“mail.companyname.com” 用于公司的邮件服务,“blog.companyname.com” 用于公司的官方博客,这些都是子域名。
- 按顶级域名分类:
- 域名的重要性
- 品牌与身份标识:域名是企业、组织或个人在互联网上的重要品牌标识。一个好的域名能够提高品牌知名度和辨识度,方便用户记忆和访问。例如,“apple.com” 这个域名简单易记,与苹果公司的品牌紧密相连,有助于用户快速找到苹果公司的官方网站。
- 便于网络资源访问:通过域名,用户无需记住复杂的 IP 地址就可以访问各种网络资源。对于提供多种服务的组织,不同的子域名可以方便地引导用户访问特定的服务,如通过 “store.example.com” 访问电商服务,“support.example.com” 访问客户支持服务。
- 商业价值与资产属性:优质的域名可能具有很高的商业价值,可以像其他资产一样进行买卖。例如,一些短域名、热门关键词域名或者具有特殊含义的域名在域名市场上价格不菲,因为它们能够为企业带来更多的流量和商业机会。
域名信息收集
- Whois 查询
- 基本概念:Whois 是一种用于查询域名注册信息的协议和服务。通过 Whois 查询,可以获取域名的注册商、注册人姓名、注册人联系方式(如电话、邮箱)、注册日期、过期日期等信息。这些信息对于了解目标组织的基本情况非常有用。
- 查询工具和方法:
- 有许多在线的 Whois 查询工具,如whois.net、ICANN - WHOIS(ICANN Lookup)等。只需在查询框中输入目标域名,就可以获取相关信息。
- 也可以使用命令行工具进行查询。在 Linux 或 Mac 系统中,可以使用 “whois” 命令。例如,在终端中输入 “whois example.com”(将 “example.com” 替换为目标域名),就会返回域名的注册信息。
- 信息利用和安全风险:
- 从安全角度看,注册人联系方式等信息可能被用于社会工程学攻击。例如,攻击者可以伪装成域名注册商客服,联系注册人并试图获取更多敏感信息。
- 注册日期和过期日期可以帮助判断域名的稳定性。如果一个域名即将过期,可能会存在一些管理上的混乱,增加安全风险。
- DNS 查询
- DNS 记录类型及作用:
- A 记录(主机记录):将域名映射到对应的 IP 地址。例如,当用户在浏览器中输入一个域名时,DNS 服务器会通过 A 记录找到对应的 IP 地址,从而将用户请求导向正确的服务器。通过查询 A 记录可以确定目标域名对应的 IP 地址,以及多个域名是否指向同一个 IP(可能存在虚拟主机等情况)。
- CNAME 记录(别名记录):用于为一个域名设置别名。这在服务器架构调整或负载均衡等场景中很有用。例如,一个大型网站可能有多个服务器提供服务,通过 CNAME 记录可以将不同的子域名别名指向同一个服务器集群。
- MX 记录(邮件交换记录):用于指定处理邮件的服务器。查询 MX 记录可以找到目标组织的邮件服务器信息,这对于测试邮件系统安全或进行针对邮件的攻击(如垃圾邮件、钓鱼邮件等)有帮助。
- NS 记录(域名服务器记录):指定了该域名由哪些 DNS 服务器进行解析。了解 NS 记录有助于确定域名解析的授权服务器,进而可以对 DNS 服务器进行安全性测试。
- 查询工具和方法:
- nslookup:这是一个命令行工具,可用于查询各种 DNS 记录。例如,在命令行中输入 “nslookup -type=A example.com” 可以查询目标域名的 A 记录。它还可以设置查询的 DNS 服务器,用于测试不同 DNS 服务器的解析结果。
- dig:也是一个功能强大的 DNS 查询工具,相比 nslookup,它提供了更详细的输出信息。例如,“dig example.com MX” 可以查询目标域名的 MX 记录,并且可以通过添加不同的参数来控制查询的深度、查询的源 IP 等。
- 子域名挖掘:
- 目的和重要性:挖掘子域名可以发现目标组织可能存在的其他网络资源。例如,企业可能会有主网站域名和多个用于不同业务(如测试环境、内部管理系统、员工论坛等)的子域名。这些子域名可能因为安全措施不完善而成为潜在的攻击入口。
- 方法和工具:
- 字典爆破是一种常见的方法。通过使用一个包含大量常见子域名前缀的字典(如 test、dev、admin 等),结合工具(如 subbrute)对目标域名进行组合查询。例如,对于目标域名 “example.com”,工具会依次尝试 “test.example.com”、“dev.example.com” 等组合,看是否能解析出对应的 IP 地址。
- 利用搜索引擎也是一种有效的方式。通过使用搜索引擎的高级语法,如 “site:*.example.com -site:example.com”,可以搜索到目标域名下除主域名外的其他子域名相关页面。
- DNS 记录类型及作用:
- 搜索引擎利用
- 高级搜索语法的使用:
- 如 “site:[目标域名]” 语法可以搜索该域名下的所有页面。这可能会发现一些未授权公开的文档、内部网络结构线索、旧版本的应用程序界面等敏感信息。
- “filetype:[文件类型] [目标域名]” 可以搜索特定文件类型的文件。例如,“filetype:pdf [目标域名]” 可以查找目标域名下所有的 PDF 文件,这些文件可能包含敏感信息,如网络架构图、用户手册等。
- 发现与域名相关的其他信息:
- 可以搜索与目标组织相关的新闻、论坛帖子、社交媒体信息等。这些信息可能会提到域名相关的内容,如域名的更新情况、网站故障原因(可能与安全漏洞有关)等,从侧面了解目标组织的业务情况、域名的使用范围等。
- 高级搜索语法的使用:
whois介绍
-
定义与功能
- Whois 是一种互联网协议和服务,用于查询域名、IP 地址块和自治系统(AS)编号等资源的注册信息。它就像是一个互联网资源的信息查询工具,通过查询相关数据库,能够返回关于目标资源所有者和管理者的详细信息。
- 主要功能是提供域名注册相关的详细信息,包括但不限于域名的注册商、注册人(或注册组织)名称、注册人联系信息(如地址、电话、电子邮件)、注册日期、域名过期日期、域名状态等。
-
工作原理
- 当进行 Whois 查询时,查询请求会被发送到对应的 Whois 服务器。这些服务器维护着域名注册信息的数据库。不同的顶级域名(TLD)有其指定的 Whois 服务器。例如,对于.com 和.net 域名,有专门的 Whois 服务器负责存储和提供这些域名的注册信息。
- 服务器收到请求后,会在其数据库中查找与目标域名匹配的记录,并将相关信息返回给查询者。这个过程类似于在图书馆的目录系统中查找一本书的详细信息,Whois 服务器就是那个目录系统,而域名注册信息就是要查找的 “书” 的详细内容。
-
信息用途
- 域名管理和合规性检查:对于域名所有者和管理者来说,Whois 信息可以用于验证域名的注册细节,确保注册信息的准确性,以及在域名转让、续费等操作时进行必要的信息核对。同时,监管机构和互联网名称与数字地址分配机构(ICANN)等组织也会利用 Whois 信息来检查域名注册是否符合相关规定和政策。
- 安全评估和调查:在网络安全领域,Whois 信息是进行安全评估的重要资源。安全研究人员和渗透测试人员可以通过查询域名的 Whois 信息来了解目标组织的基本情况。例如,注册人姓名和联系方式可能为社会工程学攻击提供线索,但同时也有助于合法的安全审计,如在评估一个企业网络安全时,通过 Whois 信息联系到相关负责人获取授权等。
- 品牌保护和知识产权维护:企业可以利用 Whois 查询来监控与其品牌相关的域名注册情况。如果发现有恶意注册与自己品牌相似的域名(如品牌名称拼写错误的域名),可以通过 Whois 信息确定注册人,并采取法律措施(如商标侵权诉讼)来维护自己的品牌权益和知识产权。
-
查询方式和工具
- 在线查询工具:有许多方便易用的在线 Whois 查询网站,如whois.net、ICANN - WHOIS(ICANN Lookup)等。这些网站通常有一个简单的查询界面,用户只需在输入框中输入目标域名,然后点击查询按钮,就可以获取域名的 Whois 信息。
- 命令行工具:在操作系统的命令行环境中,也可以进行 Whois 查询。例如,在 Linux 和 Mac 系统中,自带 “whois” 命令。通过在终端中输入 “whois [目标域名]”(如 “whois example.com”),系统会发送查询请求并显示返回的 Whois 信息。这种方式对于技术人员来说更加灵活,可以方便地将查询结果集成到脚本或自动化工具中。
在线查询工具查询
- 国内查询平台:
- 站长之家:网址为域名Whois查询 - 站长工具,输入域名后可快速查询到域名的注册商、注册人、注册日期、到期日期等信息3.
- 爱站网:站长工具_whois查询工具_爱站网是其查询网址,能为用户提供较为全面的域名 Whois 信息3.
- 腾讯云:通过域名信息查询 - 腾讯云进行查询,查询结果中包含域名注册商、注册日期、到期日期、域名状态等重要信息36.
- 阿里云:登录whois查询_域名查询_域名交易_阿里云企航(原万网)-阿里云,输入域名即可查询相关 Whois 信息,不过需注意阿里云根据相关政策,部分信息不再公开显示47.
- 国外查询平台:WHOIS Search, Domain Name, Website, and IP Tools - Who.is是常用的国外 Whois 查询网站,支持查询多种域名后缀的注册信息,能为用户提供详细的域名所有者、注册商、注册日期等信息
命令行查询
- Linux 系统:在终端中输入 “whois [目标域名]”,如 “whois example.com”,系统会发送查询请求并显示返回的 Whois 信息
- Windows 系统:可以使用第三方的 Whois 命令行工具,如 Activewhois 等,通过命令提示符输入相应指令进行查询
whois baidu.com
专业查询工具查询
WhoisXMLAPI 等专业工具,可通过调用 API 接口的方式进行 Whois 查询,这种方式适用于需要大量查询或自动化查询的场景,查询结果可以根据需求进行定制化处理,方便开发者将其集成到自己的应用程序或脚本中
子域名介绍
- 定义与概念
- 子域名是主域名下的细分部分,是域名系统(DNS)层次结构中的一部分。它通过在主域名前添加一个或多个标签来创建,标签之间用点号 “.” 分隔。例如,对于主域名 “example.com”,“blog.example.com” 和 “mail.example.com” 就是它的子域名。子域名可以帮助组织对其网络服务进行更细致的划分和管理。
- 作用与用途
- 服务区分:可以用于区分不同类型的服务。比如,一个企业可以使用 “store.example.com” 来运营其电商平台,用 “support.example.com” 提供客户支持服务,用 “blog.example.com” 发布公司博客和新闻资讯。这样用户可以根据子域名很容易地找到他们想要访问的特定服务。
- 部门划分:在企业或组织内部,子域名也可以用于划分不同的部门。例如,“it.example.com” 可能是企业 IT 部门的内部管理系统域名,“marketing.example.com” 用于市场部门的营销活动相关资源,方便各部门独立管理和维护自己的网络资源。
- 测试与开发环境隔离:对于软件开发者和网站运营者来说,子域名可以用于创建独立的测试和开发环境。例如,“test.example.com” 和 “dev.example.com” 可以分别作为测试和开发环境的域名,与生产环境(如 “www.example.com”)相隔离,这样可以在不影响正式服务的情况下进行软件测试、新功能开发等工作。
- 子域名与主域名的关系
- DNS 解析关联:子域名和主域名在 DNS 系统中是相互关联的。它们都依赖于 DNS 服务器进行解析,将域名转换为对应的 IP 地址。在 DNS 配置中,主域名的 DNS 记录可以包含对子域名解析的设置,或者子域名可以有自己独立的 DNS 记录来指定解析方式。例如,主域名的域名服务器(NS)记录可以指定哪些 DNS 服务器负责解析其子域名。
- 资源共享与独立:子域名可以共享主域名的某些资源,如服务器硬件、网络带宽等,但也可以有自己独立的服务器和配置。例如,一个小型企业可能将所有子域名都指向同一台服务器,通过不同的虚拟主机配置来区分不同的服务;而一个大型企业可能为重要的子域名(如电商平台子域名)单独配置高性能的服务器,以满足高流量和高安全性的要求。
- 安全考虑
- 安全风险增加:子域名的存在增加了攻击面。因为每个子域名可能运行不同的应用程序或服务,其中任何一个子域名的安全漏洞都可能被攻击者利用,进而影响整个域名系统的安全。例如,如果 “test.example.com” 是一个没有得到充分安全防护的测试子域名,攻击者可能通过这个子域名找到进入企业内部网络的入口。
- 安全策略实施难度:为子域名制定和实施统一的安全策略可能会比较复杂。由于不同子域名可能有不同的用途、技术架构和用户访问群体,需要针对每个子域名的特点来设计安全策略。例如,对于面向外部用户的电商子域名,可能需要重点关注防止 SQL 注入和跨站脚本攻击(XSS)等 Web 漏洞;而对于内部管理子域名,可能需要加强身份验证和访问控制方面的安全措施。
专业信息收集搜索引擎
- Shodan:专门搜索互联网设备和服务,可通过关键词、IP 地址、端口号等查找路由器、摄像头、Web 服务器、FTP 服务器等设备和服务,还提供漏洞搜索、渗透测试等功能,帮助深入分析和评估搜索结果25.
- Zoomeye(钟馗之眼):专注于网络设备和物联网设备搜索,能发现和分析各种连接到互联网的设备,如服务器、路由器、摄像头、数据库等,主要用于网络侦查、漏洞发现和网络安全研究2.
- FOFA:网络空间测绘搜索引擎,用户可输入关键词匹配包含该关键词的网页、摄像头、打印机、数据库、操作系统等资产,使用方式类似谷歌或百度
- Hunter(鹰图):奇安信旗下的网络测绘空间平台,可对全球暴露在互联网上的服务器和设备进行资产探测、端口探活、协议解析、应用识别等操作
- 360Quake:360 网络安全响应中心开发的网络空间测绘系统,可对特定网站或 IP 进行多维度的分析和识别
ssl证书查询
以下是一些常见的 SSL 证书查询方法:
通过浏览器查询
- 查看地址栏标识:在大多数现代浏览器中,访问使用 SSL 证书的网站时,地址栏会显示相应的安全标识,如锁形状图标或 “https” 标志。点击该标识,可查看证书的基本信息,包括颁发机构、有效期等.
- 查看证书详细信息:在浏览器中点击菜单选项中的 “证书” 或 “查看证书” 等链接,可打开证书信息对话框,查看更详细的证书信息,如证书的颁发机构、有效期、加密类型以及与域名的关联等.
使用在线查询工具
- 输入网址查询:有许多在线工具可用于查询 SSL 证书信息,只需输入要查询的网站 URL,工具将快速提供与该网站相关的证书信息,如颁发机构、有效期、加密算法等常见的在线查询工具包括SSL Shopper、MySSL等.
- 高级搜索功能:部分在线工具还提供高级搜索功能,可根据证书颁发机构、域名、验证类型等条件进行筛选查询,如SSL Certificate Advanced Search,方便用户更精准地查找符合特定要求的 SSL 证书.
利用命令行工具查询
- OpenSSL:这是一个强大的开源软件库,提供了许多密码学工具和函数。使用命令
openssl s_client -connect http://www.example.com:443
(将http://www.example.com
替换为要查询的域名)可与远程服务器进行连接,并显示与 SSL 证书相关的信息,如证书的颁发机构、指纹、有效期等1. - cURL:是一个命令行工具,具有在终端中发送和接收数据的功能。命令
curl -iv https://www.example.com
(将http://www.example.com
替换为要查询的域名)将显示关于 SSL 证书和其他有关请求的详细信息,包括服务器返回的证书信息、响应头信息等.
访问证书颁发机构官网查询
不同的证书颁发机构(CA)官网有各自的查询界面和方式,一般需要在其网站上找到证书查询入口,然后输入相关的证书信息,如证书序列号、域名等,以获取证书的详细状态.
调用 API 进行查询
部分 SSL 证书提供商和在线证书管理平台提供 API 接口,允许开发者通过编程方式查询 SSL 证书信息。通过调用相关 API,可获取证书的各种属性,并将其集成到自己的应用程序或工具中,适用于需要自动化查询多个证书的场景.
js发现子域名
在许多网站的 JavaScript 代码中,可能会包含对子域名的硬编码引用。这些引用可能是用于构建 API 请求、加载资源(如图片、脚本文件等)或者进行跨域通信。通过分析 JavaScript 文件的内容,可以发现这些隐藏的子域名。
JSFinder 是一款用于从网站的 JavaScript 文件中提取 URL 和子域名的工具,以下是对它的具体介绍:
功能特点
- 快速提取信息:能够高效地在网站的 js 文件中查找并提取出 URL 和子域名,帮助安全研究人员和渗透测试人员快速发现潜在的攻击面和目标135.
- 多线程爬虫:支持多线程爬虫功能,可以同时对多个页面或文件进行爬取和分析,提高信息收集的效率1.
- 深度爬取:可对发现的 URL 进行深度爬取,进一步挖掘更多的子域名和相关链接,扩大信息收集的范围138.
- 常见高危目录爆破:具备对常见高危目录的爆破功能,有助于发现网站中可能存在的安全漏洞1.
- 敏感信息识别:能够识别手机号、身份证号码等敏感信息,帮助用户及时发现可能存在的数据泄露风险1.
- 生成 html 报告:可以将提取到的信息生成 html 报告,方便用户查看和验证结果,提高工作效率和结果的可读性1.
安装使用
- 下载地址:可从https://github.com/Roc-L8/JSFinderPlus 或 GitHub - Threezh1/JSFinder: JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website. 下载.
- 使用方法 :
- 简单爬取:
python JSFinder.py -u http://www.example.com
,该命令会爬取指定页面的所有 js 链接,并从中发现 url 和子域名 。 - 深度爬取:
python JSFinder.py -u http://www.example.com -d
,深入一层页面爬取 JS,能获取更全面的信息,但耗时可能更长。 - 结果保存:可以使用
-ou
指定文件名保存 URL 链接,如python JSFinder.py -u http://www.example.com -ou url.txt
;使用-os
指定文件名保存子域名,如python JSFinder.py -u http://www.example.com -os subdomain.txt
。 - 指定 cookie 爬取:如果网站需要登录或有访问限制,可以使用
-c
指定 cookie 来爬取页面,例如python JSFinder.py -u http://www.example.com -c "session=xxx"
。
- 简单爬取:
应用场景
- 渗透测试:在渗透测试的信息收集阶段,JSFinder 可以帮助测试人员快速发现目标网站的子域名和隐藏的 URL,为后续的漏洞扫描和攻击提供更多的目标和线索126.
- 安全审计:安全审计人员可以使用 JSFinder 对网站的 JavaScript 代码进行分析,查找可能存在的安全漏洞,如未授权访问、跨站脚本攻击等,提高网站的安全性5.
- 网络爬虫:对于需要对网站进行全面爬取和数据采集的开发者和研究人员,JSFinder 可以作为一个辅助工具,帮助他们快速获取网站中的所有链接和子域名,提高爬虫的效率和覆盖范围 。
以下是一些常见的子域名挖掘机介绍:
Layer 子域名挖掘机
- 特点14 :
- 操作简便:拥有简洁的界面和简单的操作模式,用户无需复杂的配置即可快速上手。
- 多种挖掘模式:支持服务接口、暴力搜索、同服挖掘三种模式,能够从不同角度挖掘子域名,提高挖掘的全面性和准确性。
- 丰富的导出功能:可以导出域名、IP、CDN、WEB 服务器等多种信息,并且支持多种组合方式的导出,方便用户对结果进行进一步分析和处理。
- 附带端口扫描:可选的端口扫描功能,能帮助用户发现开放的端口,进一步了解目标网站的网络架构和服务部署情况 。
- 线程控制:用户可根据自身需求调整扫描线程,在扫描速度和系统资源占用之间找到平衡,提高扫描效率。
- 使用步骤1 :
- 下载与解压:从GitCode - 全球开发者的开源社区,开源代码托管平台获取 Layer 子域名挖掘机,解压后即可使用。
- 启动程序:双击解压后的 exe 文件,启动 Layer 子域名挖掘机。
- 输入域名:在程序界面中输入要扫描的目标域名。
- 开始扫描:点击 “启动” 按钮,开始扫描子域名。
- 查看结果:扫描完成后,结果会显示在列表中,用户可以右键导出结果。
SubdomainsBrute
- 特点2 :
- 字典丰富:包含 1 万 5 千条的小字典以及多达 6 万 3 千条的大字典,能够利用字典递归地发现三级、四级、五级等多级域名,提高子域名发现的可能性。
- 可靠的 DNS 查询:默认使用 114DNS、百度 DNS、阿里 DNS 等快速又可靠的 Public DNS 查询,也可修改配置文件添加 DNS 服务器,确保查询的稳定性和准确性。
- 自动去重泛解析域名:当超过 2 个域名指向同一 IP 时,此后发现的其他指向该 IP 的域名将被丢弃,有效避免结果的冗余和误判。
- 扫描速度较快:在性能较好的 PC 上,每秒稳定扫描约 3 百个域名,具有较高的扫描效率 。
- 使用步骤2 :
- 在对应目录下输入命令
subDomainsBrute.py
查看命令参数介绍。 - 使用
-f FILE
指定暴力猜解字典,默认使用 subnames.txt,也可使用--full
参数选择全扫描,即使用 subnames_full.txt。 - 通过
-t THREADS, --threads=THREADS
设置扫描线程数,默认 200;-p PROCESS, --process=PROCESS
设置扫描进程数,默认为 6 。 - 利用
-o OUTPUT, --output=OUTPUT
指定输出文件名称 。 - 例如,创建 20 个线程访问百度并将结果保存到 baidu.txt,命令为
python subDomainsBrute.py -t 20 baidu.com -o baidu.txt
。
- 在对应目录下输入命令
OneForAll
- 特点 :
- 收集能力强大:作为开源子域收集工具,能够整合多种数据源和技术手段,全面地收集子域名信息,包括但不限于字典爆破、搜索引擎查询、DNS 查询等。
- 高度可定制:用户可以根据具体需求自定义字典、调整扫描策略、配置数据源等,以适应不同的目标和场景,提高工具的灵活性和适应性。
- 持续更新维护:作为开源项目,拥有活跃的社区支持,能够及时更新和修复漏洞,保证工具的稳定性和有效性,同时也方便用户获取最新的功能和特性 。
- 使用步骤:
- 从GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具下载并安装 OneForAll 。
- 配置相关参数,如指定目标域名、选择扫描模式、设置线程数等。
- 运行工具开始扫描子域名。
- 扫描完成后,查看并分析结果,可将结果导出以便后续使用 。
【作业:使用任意两种工具收集baidu.com的子域名】
收集一些www.baidu.com的子域名
- 使用在线工具
- DNSdumpster:
- 访问https://dnsdumpster.com/。
- 在搜索框中输入 “baidu.com”,然后点击 “Search” 按钮。它会显示与百度相关的子域名、IP 地址、MX 记录等信息。通过这种方式可以发现诸如 “tieba.baidu.com”(百度贴吧)、“zhidao.baidu.com”(百度知道)等子域名。
- Crt.sh:
- 打开crt.sh | Certificate Search。
- 在搜索框中输入 “%.baidu.com”(“%” 是通配符,用于匹配所有子域名),然后回车。它会查询证书透明度日志来找出包含百度子域名的 SSL/TLS 证书信息,从中挖掘出一些子域名,例如一些内部测试环境或者新上线但还不太为人知的业务子域名。
- Virustotal:
- 访问VirusTotal。
- 在搜索框中输入 “domain:baidu.com”,然后按回车键。它会展示与百度相关的子域名列表,并且还可能提供一些额外的信息,如文件哈希、恶意软件关联等,有助于从安全角度评估这些子域名。
- DNSdumpster:
- 使用命令行工具
- Subbrute:
- 首先需要在系统中安装 Subbrute。如果是在 Linux 系统下,可以通过命令行(假设已经安装了 Python)运行 “git clone GitHub - TheRook/subbrute: A DNS meta-query spider that enumerates DNS records, and subdomains.” 来下载安装。
- 安装完成后,在命令行中运行 “python subbrute/subbrute.py baidu.com”(假设 Subbrute 安装在当前目录下的 subbrute 文件夹中)。它会使用字典爆破的方式尝试找出百度的子域名,速度相对较快,不过结果可能会受到字典范围的限制。
- DNSRecon:
- 对于基于 Debian 或 Ubuntu 的系统,可以通过 “sudo apt - get install dnsrecon” 命令来安装 DNSRecon。
- 安装好后,使用 “dnsrecon -d baidu.com -t brt” 命令(“-d” 指定域名,“-t brt” 表示使用暴力破解 DNS 记录的方式来查找子域名)。它会尝试多种 DNS 查询技巧来挖掘子域名,并且可以通过调整参数来控制查询的深度和广度。
- Subbrute:
- 使用专业的子域名挖掘工具
- Layer 子域名挖掘机:
- 下载并解压 Layer 子域名挖掘机软件(可从相关的软件下载网站获取)。
- 打开软件,在输入框中输入 “baidu.com”,然后点击 “启动” 按钮。它提供了多种挖掘模式,如服务接口、暴力搜索、同服挖掘等,可以从不同角度挖掘百度的子域名,并且在挖掘完成后可以方便地导出结果。
- JSFinder:
- 从其官方 GitHub 仓库(GitHub - Threezh1/JSFinder: JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website.)下载 JSFinder。
- 按照说明安装好后,在命令行运行 “python JSFinder.py -u www.baidu.com”(假设 Python 已经安装并且已经将路径配置正确)。它会爬取百度网站上的 JavaScript 文件,从中提取 URL 和子域名相关信息,这种方式对于发现那些通过 JavaScript 动态加载的子域名非常有效。
- Layer 子域名挖掘机:
IP反查域名
以下是一些常见的 IP 反查域名的方法:
命令行工具
- nslookup:在命令提示符(Windows)或终端(Linux、Mac)中输入 “nslookup -type=PTR [IP 地址]”,例如 “nslookup -type=PTR 8.8.8.8”,系统会返回该 IP 地址对应的域名信息。如果不添加 “-type=PTR” 参数,直接输入 “nslookup [IP 地址]”,也可能会得到域名信息,但查询的是 A 记录等正向解析结果,不一定能准确反查到域名 137.
- dig:在 Linux 和 Mac 系统中常用,输入 “dig -x [IP 地址]”,如 “dig -x 192.0.2.1”,会显示详细的 DNS 信息,其中包括对应的域名7.
在线工具
- IP138:在查询框中输入 IP 地址,即可尝试找出与之对应的域名457.
- 站长之家:输入要查询的 IP 地址,它会返回该 IP 地址绑定的域名信息59.
- Fofa:白帽黑客常用的社工平台,输入 IP 地址能查到很多背后的信息,包括域名等4.
- Hunter:奇安信开发的网络 IP 查询平台,登录后能查询到比较详细的信息4.
- webscan:每天都会更新大量的站点信息,输入 IP 地址可查询到相关域名4.
查询 WHOIS 数据库
WHOIS 数据库包含了域名的注册信息,可以通过查询 WHOIS 数据库来找到与 IP 地址相关联的域名。不过,这并不是一种非常直接的方法,而且可能需要一些技巧和经验来解读 WHOIS 信息,比如通过 WHOIS 中的注册邮箱、注册人等字段来反查其他相同注册信息的域名,进而找到与 IP 相关联的域名
CDN
- 定义与基本概念
- ** 内容分发网络(Content Delivery Network,CDN)** 是一个分布式服务器网络,它根据用户的地理位置、网络情况等因素,将内容(如网页、图片、视频、脚本等)缓存到离用户较近的节点服务器上。当用户请求访问这些内容时,CDN 系统会从离用户最近的节点服务器提供服务,而不是直接从源服务器获取,从而大大提高内容的访问速度和用户体验。
- 工作原理:当内容首次发布到源服务器时,CDN 系统会通过智能调度算法,将内容缓存到多个边缘节点服务器。这些边缘节点分布在不同的地理位置,构成了一个庞大的网络。当用户请求访问内容时,DNS(域名系统)会根据用户的位置和网络状况,将请求导向离用户最近的 CDN 边缘节点。如果该节点已经缓存了用户所需的内容,就直接返回给用户;如果没有缓存,则会从源服务器获取内容并缓存后再返回给用户。
- CDN 的优势
- 加速内容访问:通过减少数据传输的距离,缩短用户请求的响应时间。例如,对于一个全球访问的网站,如果没有 CDN,位于偏远地区的用户可能需要较长时间才能访问到网站内容,而使用 CDN 后,无论用户在世界何处,都能快速获取内容。
- 提高网站可用性和稳定性:CDN 节点服务器通常有冗余备份,并且可以分担源服务器的负载。当部分节点出现故障时,系统可以自动将请求导向其他正常节点,降低了因单点故障导致网站无法访问的风险。
- 应对流量高峰:在网站流量突发增长(如促销活动、热点事件等)时,CDN 可以有效地分散流量,减轻源服务器的压力。例如,电商网站在 “双 11” 购物狂欢节期间,CDN 能够帮助网站应对海量的用户访问请求。
- CDN 的应用场景
- 网站加速:这是 CDN 最常见的应用场景。无论是企业官网、电商网站、新闻媒体网站还是博客网站,都可以通过使用 CDN 来提升网页加载速度,提高用户体验。
- 视频和音频流媒体服务:对于视频平台(如腾讯视频、爱奇艺)和音频平台(如喜马拉雅),CDN 可以确保流畅的播放体验。通过在全球范围内部署节点,将视频和音频文件缓存到离用户近的地方,减少缓冲时间。
- 软件下载服务:当用户下载软件时,CDN 可以加速下载过程。例如,一些软件下载站使用 CDN,将软件安装包缓存到各个节点,使用户能够更快地获取安装包。
- 常见的 CDN 服务提供商
- Akamai:全球领先的 CDN 服务提供商,拥有庞大的服务器网络,分布在世界各地。许多大型互联网公司和跨国企业都使用 Akamai 的 CDN 服务,它在应对高流量、高并发的复杂网络环境方面表现出色。
- Cloudflare:提供 CDN 服务以及一系列网络安全功能。它的 CDN 服务具有易于配置、性能良好的特点,并且可以与网站的安全防护措施(如 DDoS 防护)相结合,为网站提供全面的保护。
- 阿里云 CDN:作为阿里云的一部分,为国内用户提供高性能的 CDN 服务。它依托阿里云的大数据和云计算优势,能够根据国内用户的网络特点和访问习惯进行优化,在国内市场有很高的占有率。
- 腾讯云 CDN:同样是国内重要的 CDN 服务提供商,与腾讯的众多业务(如腾讯视频、腾讯游戏等)紧密结合,积累了丰富的内容加速经验,能够为不同类型的内容提供高效的分发服务。
- CDN 的检测方法
- 查看 HTTP 响应头:通过浏览器开发者工具或者命令行工具(如 curl)查看网站响应头中的 “Server”、“X - Cache” 等字段。如果出现 CDN 服务商相关的标识(如 “Cloudflare - Ray ID” 表示可能使用了 Cloudflare 的 CDN)或者缓存相关的信息(如 “Hit - From - Cache” 表示内容是从缓存中获取的),则很可能使用了 CDN。
- IP 地址查询:使用在线 IP 查询工具或者命令行工具(如 nslookup、dig)查询网站域名对应的 IP 地址。如果同一域名在不同地理位置解析出多个不同的 IP 地址,或者 IP 地址属于已知的 CDN 服务提供商的 IP 段,那么很可能使用了 CDN。
- 工具检测:有一些专门用于检测 CDN 的工具,如 “CDN Checker” 等。这些工具可以通过分析网站的 DNS 记录、响应时间等多种因素来判断是否使用了 CDN。
- 原理分析
- CDN 是通过缓存内容并根据用户位置分发来加速访问的。绕过 CDN 的目的通常是为了获取网站源服务器的真实 IP 地址,这可能是出于安全测试、网站诊断等目的。其核心思路是找到 CDN 服务未覆盖或者能够获取源 IP 线索的点。
- 方法介绍
- 子域名查询法
- 原理:有时候主域名使用了 CDN,但子域名可能没有使用。通过查询子域名的 IP 地址,有可能找到与主域名共享服务器的子域名,从而推测出主域名的源 IP。
- 操作方法:使用子域名扫描工具(如 Layer 子域名挖掘机、Subbrute 等)对目标域名的子域名进行扫描。例如,对于目标域名 “example.com”,扫描得到一系列子域名后,使用 nslookup 或 dig 工具查询这些子域名的 IP 地址。如果发现某个子域名的 IP 地址与其他多数子域名(被 CDN 缓存的)不同,且该子域名可能与主域名有紧密关联(如后台管理子域名),那么这个 IP 地址有可能是源 IP 或者与源 IP 在同一网段。
- 历史 DNS 记录查询法
- 原理:CDN 服务不是一直存在的,网站可能是后来才添加 CDN。查询域名的历史 DNS 记录,可能会发现未使用 CDN 时的 IP 地址,这个 IP 地址有很大概率是源 IP 或者与源 IP 相关。
- 操作方法:可以使用 SecurityTrails、DNSlytics 等工具查询域名的历史 DNS 记录。在这些工具的查询界面输入目标域名,筛选出历史记录中的 IP 地址信息。需要注意的是,有些网站可能会频繁更换服务器,所以需要进一步验证所获取的 IP 地址是否为真正的源 IP。
- 邮件服务器信息挖掘法
- 原理:邮件服务器的 IP 地址通常比较稳定,而且有些情况下可能不会经过 CDN。通过查询目标域名的邮件服务器(MX 记录)的 IP 地址,有可能发现与源服务器相关的 IP。
- 操作方法:使用 nslookup 或 dig 工具查询目标域名的 MX 记录。例如,“nslookup -type=MX example.com”(在命令提示符或终端中执行)会返回域名的邮件服务器相关信息。然后查询这些邮件服务器对应的 IP 地址,进一步分析这些 IP 地址与其他已知信息(如通过其他方法获取的可能的源 IP 线索)的关系,判断是否有可能是源 IP。
- 网站漏洞利用法(存在法律风险,不建议用于非法目的)
- 原理:如果网站存在某些安全漏洞(如 SQL 注入、文件包含漏洞等),攻击者可以利用这些漏洞获取服务器相关信息,包括可能的源 IP 地址。
- 操作方法:通过专业的漏洞扫描工具(如 Acunetix、Nessus 等)对目标网站进行安全扫描,发现漏洞后,根据漏洞的类型和利用方式,尝试获取服务器的内部信息。例如,在 SQL 注入漏洞的情况下,通过构造特殊的 SQL 查询语句,可能获取到数据库中存储的服务器配置信息,其中可能包含 IP 地址相关线索。但这种方法是非法的,除非是在得到授权的合法安全测试环境下。
- 网站文件引用和资源链接分析
- 原理:有些网站可能会引用一些未经过 CDN 缓存的外部文件或者资源,这些文件的来源 IP 可能会暴露源服务器的信息。
- 操作方法:通过查看网站的源代码(可以使用浏览器的开发者工具),分析其中的链接(如 script 标签、img 标签等引用的外部资源)。如果发现一些非 CDN 域名下的文件引用,查询这些文件来源的 IP 地址,有可能发现与源服务器相关的线索。例如,网站引用了一个位于 “http://not - cdn - domain.com/file.js” 的脚本文件,查询 “not - cdn - domain.com” 对应的 IP 地址,看是否与主域名的源 IP 有关。
- 子域名查询法
C段主机探测
以下是一些常见的使用第三方扫描工具进行 C 段存活主机探测的方法:
Nmap
- 命令格式:
nmap -sn -PE -n [C段IP地址范围]
,例如nmap -sn -PE -n 192.168.1.0/24
25. - 参数说明25 :
-sn
:表示只进行主机发现,不进行端口扫描,可加快扫描速度。-PE
:使用 ICMP Echo 请求进行扫描,通过发送 ICMP 数据包来判断主机是否存活。-n
:不进行 DNS 解析,避免因 DNS 查询导致的延迟。
Masscan
- 命令格式:
masscan -p [端口号] [C段IP地址范围] --rate [发包速率]
,比如masscan -p 80 192.168.1.0/24 --rate 1000
25. - 参数说明25 :
-p
:指定要扫描的端口,可以是单个端口,如 80,也可以是端口范围,如 1-65535。--rate
:设置发包速率,可根据网络带宽和扫描需求进行调整,但过高的发包速率可能会导致网络拥塞或被目标主机屏蔽。
ARP-Scan
- 命令格式:
arp-scan.exe -t [C段IP地址范围]
,例如arp-scan.exe -t 192.168.1.0/24
4. - 参数说明4 :
-t
:指定要扫描的目标 IP 地址范围,通过发送 ARP 请求来确定局域网内的存活主机。
NBTScan
- 命令格式:
nbtscan-1.0.35.exe [C段IP地址范围]
,比如nbtscan-1.0.35.exe 192.168.1.1/24
4. - 参数说明4 :
- 该工具主要用于扫描 Windows 网络上的 NetBIOS 名称,通过向每个 IP 地址发送 NetBIOS 状态查询,获取主机名、MAC 地址等信息,从而确定存活主机。
Unicornscan
- 命令格式:
us -mU [C段IP地址范围]
,例如us -mU 192.168.1.0/24
4. - 参数说明4 :
-mU
:表示使用 UDP 扫描模式,通过向目标主机的特定端口发送空的 UDP 报文,根据目标主机的响应来判断主机是否存活。