DNS解析详细步骤:
首先检查自己本机有无这个域名对应ip的缓存,如果没有就由本机发送给附近的DNS服务器,如果DNS服务也没有这个域名,就会递归发送给根域名服务器,根域名服务器找到对应的顶级域名服务器,顶级域名服务器找到对应的服务主机。最后把对应的ip返回给本地DNS服务器,DNS服务器发送给客户机。
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器.
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回.
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址.
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址.
第五步:重复第四步,直到找到正确的纪录.
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机
绕过cdn查找真实ip:
使用站长之家的超级ping网站查看全球各地访问这个ip的速度。
cdn是为了让距离自己很远的用户也能很快访问网站而购买的网络服务。
子域名信息收集常用手段:
使用fofa等资产收集引擎。
收集网站的指纹,子域名,网站架构,人员信息等
实践部分:
首先打开pikachu
使用Nmap进行全端口扫描
SYN半开扫描是一种常用于网络安全中的端口扫描技术,主要用于识别目标计算机上哪些端口是打开的。这种扫描的名称来自于其执行的TCP连接过程,它只完成部分连接,而不是完整的TCP握手,因此被称为“半开”扫描。
SYN包发送:扫描器向目标的特定端口发送一个TCP SYN包(这是TCP三次握手的第一个步骤),表示希望建立连接。
响应判断:目标主机根据端口状态返回不同的响应:
SYN-ACK包:如果端口是打开的,目标主机会返回一个SYN-ACK包(同意建立连接)。
RST包:如果端口是关闭的,目标主机会返回一个RST包(重置连接)。
不完成握手:如果扫描器接收到SYN-ACK包,通常会立即发送一个RST包终止连接,而不是继续发送ACK包来完成TCP握手。这就是“半开”扫描的原因,实际的连接并没有完全建立。
跳过主机存活检测:直接进行端口扫描,比如nmap使用-Pn参数
为什么每次扫描dirmap扫描的次数都不同:
因为dirmap扫描的机制“遇到这些状态码,开启递归扫描。默认配置[301,403]”每次扫描的时候可能碰不到这些状态码导致次数不同。
也可能因为网络波动,网站接口等的原因
Dirmap目录探测工具实践:
使用dirmap扫描pikachu
Fscan实践:
插件: