网址封锁的几种方法 公司把 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 协议 的封锁方法,就是最开始介绍的方式。

 

转载于:https://www.cnblogs.com/ningci/p/10606408.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值