网址封锁的几种方法 公司把 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 ...
随机推荐
- numpy.ravel() 与 numpy.flatten()
两者都可实现将多维数组降位一维的功能 numpy.flatten()返回拷贝,对拷贝所做的修改不会影响原始矩阵 numpy.ravel()返回视图,会影响原始矩阵 1)ravel() In [16]: ...
- Java入门级文件下载_学习笔记
文件下载和上一篇文件上传很像,就不多说了,传一个我写的一个下载歌曲的代码: 下面是Servlet代码: public class DownLoadServlet extends HttpServlet ...
- 重复测量的方差分析|Mauchly's Test of Sphericity|
生物统计学-重复测量的方差分析 之前的方差分析应用条件要求组之间是独立的,即某种因素下相同时段测量的结果数据,但4月与5月数据是有关系的,所以必须考虑某种因素下不同时段测量的结果数据,即使用重复测量的 ...
- Inventor 卸载工具,完美彻底卸载清除干净Inventor各种残留注册表和文件
一些同学安装Inventor出错了,也有时候想重新安装Inventor的时候会出现这种本电脑windows系统已安装Inventor,你要是不留意直接安装,只会安装Inventor的附件,Invent ...
- JDBC之BaseDao类
package com.it.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prep ...
- php--小数点问题
1.用round去小数点后两位时,有时候会出现很长的小数解决方法 sprintf("%.2f",round($total_fee,2)); 使用sprintf再截取一遍.出现变态小 ...
- AVFoundation Programming Guide(官方文档翻译4)Editing - 编辑
新博客:完整版 - AVFoundation Programming Guide 分章节版:- 第1章:About AVFoundation - AVFoundation概述- 第2章:Using A ...
- babel-loader的原理
本文转载自默语的博客. Babel包的构成 核心包 babel-core:是babel转译器本身,提供转译的API,例如babel.transform等,webpack的babel-loader就是调 ...
- tomcat6版本虚拟目录详细配置
在tomcat6版本中: 一. 1.[官方文档]本人不推荐. 在tomcat\conf下server.xml中找到 <Host name="localhost" appBa ...
- docker 使用:创建nginx容器
在上一节中了解了镜像和容器.对于镜像可以这样的理解,镜像相当于一个光盘,里面刻录了一个系统这个系统已经带有相关的服务了. 容器是通过镜像这个光盘安装的一个操作系统,光盘预加了什么服务,容器就有什么服务 ...