网址封锁的几种方法 公司把 pan.baidu.com 封了 研究实现原理
HTTP 和 HTTPS 协议
HTTP 协议
在 头部会发送 host 就是要访问的域名,可以用来被检测。
HTTPS 协议
虽然会加密全部通讯,但是在握手之前还是明文传输。有证书特证可被检测。
1, DNS 污染
通过 DNS 污染域名解析到错误的IP
进阶
a,通过修改为正确的 DNS 如 8.8.8.8
但 DNS 使用 UDP 明文传输,很容易被篡改
b,DNS 使用加密隧道进行传输,本地自建 DNS 服务器 或 手动修改 hosts 文件
2, IP 封锁
就算 DNS 能解析出正确的 IP ,但在和IP 进行通讯时还会被路由 RST, 或者根本就不转发,或者发出垃圾数据。
进阶
a, 一般的网站都有 CDN 加速,有多个 IP 都可以使用
可以通过修改 hosts 来解析到可以通的IP上。
3, HTTPS 证书黑名单
在 HTTPS 握手 时会发 服务器的证书信息
进阶
使用加密隧道
使用ping 工具查询所有 CDN 可用 ip
http://ping.chinaz.com/pan.baidu.com
使用 curl 进行测试
curl -H 'Host:pan.baidu.com' https://111.206.37.70 -k
<!DOCTYPE html>
curl -H 'Host:pan.baidu.com' https://pan.baidu.com -k
curl: (35) TCP connection reset by peer
[root@628a64b053f2 docker]# curl -H 'Host:pan2.baidu.com' http://112.34.111.108 -i
HTTP/1.1 500 Internal Server Error
Server: bfe
Date: Wed, 27 Mar 2019 03:25:36 GMT
Content-Length: 0
Content-Type: text/plain; charset=utf-8
[root@628a64b053f2 docker]# curl -H 'Host:pan.baidu.com' http://112.34.111.108 -i
curl: (56) Recv failure: Connection reset by peer
[root@628a64b053f2 docker]# curl -H 'Host:pan2.baidu.com' http://220.181.57.216
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
[root@628a64b053f2 docker]# curl -H 'Host:pan.baidu.com' http://220.181.57.216
curl: (56) Recv failure: Connection reset by peer
[root@628a64b053f2 docker]# ping baidu.com
PING baidu.com (220.181.57.216) 56(84) bytes of data.
最终得出结论,是基于 HTTP HTTPS 协议 的封锁方法,就是最开始介绍的方式。

网址封锁的几种方法 公司把 pan.baidu.com 封了 研究实现原理的更多相关文章
- 2015.1.25 Delphi打开网址链接的几种方法
Delphi打开网址链接的几种方法1.使用shellapi打开系统中默认的浏览器 首先需在头部引用 shellapi单元即在uses中添加shellapi,这里我们需要知道有 ...
- Delphi中打开网页连接的几种方法
https://blog.csdn.net/zisongjia/article/details/69398143 正好要用,做个记录.Mark下. 使用了第一种 uses shellapi proce ...
- IIS7.5使用web.config设置伪静态的二种方法(转)
近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两种方法各有优势:第一种比较灵活,只要把文件拷到根目录下,即可直接显示所有伪静态页面(适用于 ...
- ASP.net MVC 文件下载的几种方法
ASP.net MVC 文件下载的几种方法(欢迎讨论) 在ASP.net MVC 中有几种下载文件的方法前提:要下载的文件必须是在服务器目录中的,至于不在web项目server目录中的文件下载我不 ...
- Maven 知识点总结以及解决jar报冲突的几种方法
1.常见的命令 Compile Test Package Install Deploy Clean 2.坐标的书写规范 groupId 公司或组织域名的倒序 artifactId 项目名或模块名 ve ...
- android 之 启动画面的两种方法
现在,当我们打开任意的一个app时,其中的大部分都会显示一个启动界面,展示本公司的logo和当前的版本,有的则直接把广告放到了上面.启动画面的可以分为两种设置方式:一种是两个Activity实现,和一 ...
- 织梦DedeCMS模板防盗的四种方法
织梦(DedeCMS)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,就需要做好模板防盗.本文是No牛收集整理自网络,不过网上的版本都没有提供 Nginx 3 ...
- IIS7.5使用web.config设置伪静态的二种方法
转自 网上赚钱自学网 .http://www.whosmall.com/post/121 近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两 ...
- c#.net网页跳转七种方法
一.目前在ASP.NET中页面传值共有这么几种方式: .Response.Redirect("http://www.hao123.com",false); 目标页面和原页面可以在2 ...
随机推荐
- dbSNP|n SwissVar|n CanProVar|CHPP|mutation assessor|
癌症蛋白质基因组学主要研究driver性质的突变,该突变有可能是转化为癌基因的突变.抑癌基因突变.药物位点突变和蛋白突变,可以使用mutation assessor 预测突变 突变导致疾病,修饰仅影响 ...
- Null Hypotheses| Alternative Hypotheses|Hypothesis Test|Significance Level|two tailed |one tailed|
9.1 The Nature of Hypothesis Testing Over the years, however, null hypothesis has come to mean simpl ...
- javaweb_forQuery
http://how2j.cn/k/tmall_ssm/tmall_ssm-1516/1516.html 总体思路 使用springMVC+spring+mybatis的方式打通表现层/业务层/持久层 ...
- java中字符串相等判断
字符串的判断有2种: 1.判断地址是否相等 用:== 2.判断值是否相等 用:equals方法 Object类作为所有类的超类,而Object类的equals方法是直接比较地址的,源码如下: pu ...
- C# 开启线程的几种方式
1.异步委托开启线程 public static void Main(string[] args) { Action<int,int> a=add; a.BeginInvoke(,,nul ...
- Html 的生命周期
零.序言 vue 用多了,自然离不开生命周期.最近突发奇想,加上之前看过的文章中关于 script 标签中的 async 和 defer 的捣糨糊,决定整理一下,攻克这个模糊点. 当然,最多的还是与 ...
- 吴裕雄--天生自然python编程:实例(3)
# 返回 x 在 arr 中的索引,如果不存在返回 -1 def binarySearch (arr, l, r, x): # 基本判断 if r >= l: mid = int(l + (r ...
- Memcached笔记——(四)应对高并发攻击
近半个月过得很痛苦,主要是产品上线后,引来无数机器用户恶意攻击,不停的刷新产品各个服务入口,制造垃圾数据,消耗资源.他们的最好成绩,1秒钟可以并发6次,赶在Database入库前,Cache进行Mis ...
- failed to load main-class manifest attribute(运行jar包出错)
原因描述:MANIFEST.MF文件中的Main-Class配置不正确或格式不正确 检查方式:以WinRarR的方式打开jar包,如图所示, 点击进入箭头所指的META-INF文件夹 将MAN ...
- android中SeekBar拖动进度条的使用及事件监听
下面和大家分享一下android中SeekBar拖动进度条的使用,以及事件监听.拖动进度条的事件监听需要实现SeekBar.OnSeekBarChangeListener接口,调用SeekBar的se ...