Mayx的Anti-Ban计划 | Mayx的博客
Author: mayx
Description: 经过研究，网关管理没什么好怕的！
Date: 2019-04-27T00:00:00+08:00

27 April 2019 - 字数统计：1551 - 阅读大约需要6分钟 - Hits: Loading...

# Mayx的Anti-Ban计划

by mayx

这是一篇创建于 天前的文章，其中的信息可能已经有所发展或是发生改变。

AI摘要

这篇文章探讨了Mayx的 Anti-Ban计划，主要针对互联网上的上层网关限制问题。作者分析了Ban（网络限制）的原理，包括DNS缓存污染、IP封锁和TCP重置攻击。提出的Anti-Ban方案包括使用DNSSEC、DNSCrypt等技术绕过Ban域名，通过HTTPS和本地Proxy解决BanIP问题，并提到了尝试使用CloudFlare来隐蔽真实IP。虽然原计划中提到用Python制作Proxy，但由于学习成本和实际操作困难，作者最终转而考虑使用Nginx进行域前置，调整了配置以应对网关的Ban策略。然而，最后还是意识到最初的方案其实属于域前置，因此原来的计划被放弃。

- 起因
- Ban的原理
- Anti-Ban的方案
  - 针对Ban域名的方案
  - 针对BanIP的方案
  - TCP重置攻击
- 计划
- 结果
- 事实

经过研究，网关管理没什么好怕的！

#
起因

众所周知，由于某些原因，互联网总是被上层网关所限制，所以为了解决这个问题，我研究了一下Ban的原理和Anti-Ban的方法。

#
Ban的原理

Ban网站的原理大概分为以下几点：

1.DNS缓存污染(Ban域名)

2.IP地址或传输层端口封锁(BanIP)

3.TCP重置攻击

具体内容请自行前往Wikipedia自行查询（这个链接可没有特指哦~），在此不再详述。

#
Anti-Ban的方案

##
针对Ban域名的方案

DNSSEC、DNSCrypt、DoT、DoH等等都可以解决这个问题，或者是不通过DNS，直接获得IP，然后发送Host头来获取网页内容也可以。我的想法是建立一个本地Proxy，先通过前面几种方案获得IP，然后发送Host，这里需要注意的是要通过HTTPS发送但是不使用SNI，因为SNI是不加密的，而且用代理就没必要一定要获得正确的证书。 防火墙会对SNI进行拦截，所以需要注意。

##
针对BanIP的方案

BanIP是真的绝，因为网络控制毕竟在网关，Ta要丢包谁也没办法，不过可以试试CloudFlare，CloudFlare可以不使用原网站的IP，而且很多网站都使用CloudFlare，所以BanCloudFlare的IP肯定不是好选择。

##
TCP重置攻击

HTTPS基本上可以避免这个问题，除了会受SNI没加密的影响（TLS1.3可解），但是证书……没关系，靠本地Proxy对证书的要求不是很多。这个解决方案基本上就是加密，让网关不知道你在干什么，也就不能对你发RST包了。

#
计划

制作一个本地Proxy小程序，用Python是个不错的选择，绕过DNS和TCP Reset，再配上CloudFlare，基本上网关应该就Ban不了你了。

不过Python的学习成本还挺高的，感觉比PHP难……回头有时间可以试试看。

#
结果

Python对我来说果然还是太难了QAQ，所以，我觉得使用Nginx就够用了，配置如下：

    location / {
        proxy_pass https:// #填写目标IP;
        proxy_redirect off ;
        proxy_set_header Host #填写目标域名;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 300;             #跟后端服务器连接超时时间，发起握手等候响应时间
        proxy_send_timeout 300;                #后端服务器回传时间，就是在规定时间内后端服务器必须传完所有数据
        proxy_read_timeout 600;                #连接成功后等待后端服务器的响应时间，已经进入后端的排队之中等候处理
        proxy_buffer_size 256k;                #代理请求缓冲区,会保存用户的头信息以供nginx进行处理
        proxy_buffers 4 256k;                  #同上，告诉nginx保存单个用几个buffer最大用多少空间
        proxy_busy_buffers_size 256k;          #如果系统很忙时候可以申请最大的proxy_buffers
        proxy_temp_file_write_size 256k;       #proxy缓存临时文件的大小
        proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
        proxy_max_temp_file_size 128m;
    }

果然，搞事情还是用自己熟悉的搞比较好~23333

#
事实

我果然还是图样图森破了~我想的方案其实就是域前置，所以，该计划作废QAQ

tags: Mayx - Anti-Ban 查看原始文件

#### 推荐文章

Loading...

上一篇：(转)Shell 脚本编程陷阱
下一篇：如何“人肉”服务器？
想问这篇文章
召唤伊斯特瓦尔