#什么是CDN?

内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。
CDN应用广泛,支持多种行业、多种场景内容加速,例如:图片小文件、大文件下载、视音频点播、直播流媒体、全站加速、安全加速。

简单来说,CDN使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中速率。

归纳起来,CDN具有以下主要功能:
(1)节省骨干网带宽,减少带宽需求量;
(2)提供服务器端加速,解决由于用户访问量大造成的服务器过载问题;
(3)服务商能使用Web Cache技术在本地缓存用户访问过的Web页面和对象,实现相同对象的访问无须占用主干的出口带宽,并提高用户访问因特网页面的相应时间的需求;
(4)能克服网站分布不均的问题,并且能降低网站自身建设和维护成本;

(5)降低“通信风暴”的影响,提高网络访问的稳定性。

#如何判断是否存在CDN

1.直接ping

两者不同时,则判断存在cdn。两者相同时则不存在CDN。

2.利用多节点技术进行请求判断

例如超级ping,返回多个IP值时则存在CDN。返回单一IP则不存在CDN。

#绕过CDN的方法

1.子域名查询以获得真真实ip

有些子域名和域名可能部署在同一台服务器上,推测子域名的ip可能为目标网站的ip

网上有很多子域名查询工具或平台

比如:https://dnsdb.io/zh-cn/

2.利用网站漏洞

一些网站可能有phpin铭感信息泄露、Apache status和Jboss status敏感信息泄露、网页源代码泄露、svn信息泄露信、github信息泄露等。若存在web漏洞,服务器主动与我们发起请求连接,我们也能获取目标站点真实ip。例如xss、ssrf、命令执行反弹shell等。

比如phpinfo,利用自己搭建的进行测试:

3.利用邮件查询服务

需要下载一个邮件服务软件,比如foxmail,下载链接:https://www.foxmail.com/

一些网站在注册新用户时,可使用邮件注册,可推测邮件服务器与网站在同一台服务器或同一网段下。

利用注册时查看邮件源码可获得邮件服务器的真实ip进而推测网站的真实ip地址。

Received项就是邮件服务器的地址。

4.利用国外地址请求

一些网站在其他国家没有设置CDN节点,所以在国外访问网站时时直接访问源站从而获取真实ip。

可使用vpn切换国外节点进行访问、ping、nslookup等直接获取ip。

5.利用第三方接口查询真实ip

例如国外接口:

get-site-ip.com
asm.ca.com

国内:情报社区

x.threatbook.cn

6.利用黑暗引擎搜索特定文件获取真实IP。

常用三大搜索引擎:

shodan:https://www.shodan.io/
钟馗之眼:https://www.zoomeye.org/
fofa:https://fofa.so/

例如一些文件的ico文件是特定的,可以利用该文件的哈希值在搜索引擎进行搜索。

获取文件的文件hash值的方法有很多。
命令行:

Get-FileHash + 文件名

或者python代码查看ico文件的hash(环境python2):

import mmh3
import requests
response = requests.get('文件url')
favicon = response.content.encode('base64')
hash = mmh3.hash(favicon)
print('http.favicon.hash:'+str(hash))

获取hash后再利用shodan搜索

http.favicon.hash:'hash'

7.扫全网

通过Zmap、masscan、fuckcdn、w8fuckcdn等工具对整个互联网发起扫描,针对扫描结果进行关键字查找,获取网站真实IP。
fuckcdn:https://github.com/Tai7sy/fuckcdn
w8fuckcdn:https://github.com/boy-hack/w8fuckcdn
fuckcdn使用方法:
打开set.ini配置文件,按照说明进行配置即可

配置完成后运行.exe文件即可。

其他工具步骤大致一样,不再一一演示。

8.一点小技巧

一些网站可能加www.和不加www.返回的ip可能不同,cdn节点可能部署在www.的网站上。真实ip可能是不加的那个。

一些网站可能会做手机端,其格式为m.,往往这个就没有设置cdn,可获取真实ip。

通过综合手无法判断时,可查看网站备案号地址,再结合扫描出的ip地区地址进行比较获得真实ip地址。

CDN相关知识及CDN绕过的更多相关文章

  1. 【原】http缓存与cdn相关技术

    摘要:最近要做这个主题的组内分享,所以准备了一个星期,查了比较多的资料.准备的过程虽然很烦很耗时间,不过因为需要查很多的资料,因此整个过程下来,对这方面的知识影响更加深刻.来来来,接下来总结总结 一 ...

  2. http缓存与cdn相关技术

    阅读目录 一 http缓存 二.Http缓存概念解析 三.cdn相关技术 摘要:最近要做这个主题的组内分享,所以准备了一个星期,查了比较多的资料.准备的过程虽然很烦很耗时间,不过因为需要查很多的资料, ...

  3. CDN技术之--流媒体CDN系统的组成

    流媒体业务是一种对实时性.连续性.时序性要求非常高的业务,无论从带宽消耗上还是质量保障上来说,对best-effort的IP网络都是一个不小的冲击 –高带宽要求–高QoS要求–组播.广播要求(目前IP ...

  4. 七牛云 融合CDN测试域名 -> 融合CDN加速域名

    七牛云 融合CDN测试域名 -> 融合CDN加速域名 本篇主要讲解 如何将七牛云融合CDN测试域名 切换到自定义的加速域名上去,为什么会写这篇是因为我收到了一封 [七牛云]测试域名回收通知的邮件 ...

  5. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  6. 移动WEB像素相关知识

    了解移动web像素的知识,主要是为了切图时心中有数.本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关 ...

  7. listener监听器的相关知识

    从别人的博客上我学习了listener的相关知识现在分享给大家 1.概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上 ...

  8. UIViewController相关知识

    title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...

  9. 【转】java NIO 相关知识

    原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...

随机推荐

  1. npm ERR! Error: tunneling socket could not be established的解决问题

    一般是代理问题 可以通过在命令行运行下列命令解决: npm run server npm run webdriver-update

  2. 前台JS遍历Table的所有单元格数据内容

    在日常开发过程中为了减少与后台服务器的交互次数,大部分的功能都会放到前台使用JS来完成. 例如:一个表中有ID(FOCUS_SEQ)和Name(COLUMNCTRL)两个字段,其中ID是自定义连续增长 ...

  3. CentOS:操作系统级监控及常用计数器解析

    我相信有一些人看到这篇文章的标题肯定有种不想看的感觉,因为这样的内容实在被写得太多太多了.操作系统分析嘛,无非就是 CPU 使用率.I/O 使用率.内存使用率.网络使用率等各种使用率的描述. 然而因为 ...

  4. css基本内容笔记(学习整理)

    一.css简介 1.什么是css 层叠样式表. 层叠:层层叠加,若果有冲突应用优先级高,不冲突的部分共同作用 样式表:就是css属性样式的集合: 2.作用 a.修饰html,使得html样式更好看 b ...

  5. 我的物联网大学【第二章】:Luat的出世

    壹 启动火种 有一位软件行业的大神,名字叫做许小刚. 小刚是一位憨厚的年轻的码农,嵌入式.后端.前端,无所不能,是一个很牛的物联网全栈工程师,也是一家物联网软件公司的创始人兼CEO. 有次跟我.老陆. ...

  6. Jmeter将token设置为全局变量并跨线程进行传递参数

    我们在用Jmeter做性能测试时,一般会涉及到多个线程组.而线程之间或接口之间会对上个参数有依赖性,那么我们将接口中的参数提取出来供其他线程组或接口调用呢这就需要使用到__setProperty函数, ...

  7. Linux 安装及管理程序

    Linux 安装及管理程序 目录 一.Linux应用程序基础 1.1.应用程序与系统命令的关系 1.2.典型应用程序的目录结构 1.2.常见的软件包封装类型 二.RPM包管理工具 2.1.RPM软件包 ...

  8. excel VBA正则匹配单元格符号,并按符号把单元格拆分行(这里是按第一列分行,分行是从活动单元格的行开始,分行前需要选择所有需要填充内容的列,否则需要后期手动填充)

    Sub W()   ' MsgBox "行数:" & Selection.Rows.Count    Dim rows_count As Integer    Dim ro ...

  9. 《机器学习Python实现_10_10_集成学习_xgboost_原理介绍及回归树的简单实现》

    一.简介 xgboost在集成学习中占有重要的一席之位,通常在各大竞赛中作为杀器使用,同时它在工业落地上也很方便,目前针对大数据领域也有各种分布式实现版本,比如xgboost4j-spark,xgbo ...

  10. 深入理解 Android ANR 触发原理以及信息收集过程

    一.概述 作为 Android 开发者,相信大家都遇到过 ANR.那么为什么会出现 ANR 呢,ANR 之后系统都做了啥.文章将对这个问题详细解说. ANR(Application Not respo ...