模式学习入门——降龙宝典3

这次把本书更完善了,我相信你只需要一天就可以学会写模式了,不是简单的去抄袭别人的模式,而是从冕旒的理论上了解模式了。

在上次发布降龙宝典的时候,很多人表示看不懂,现在来本终极更新版。本书给想认真努力学习免流的人准备的。写的比较乱,但是在用心写。

第一课:

免流的原理:
这个很重要,知道以后你就知道我们加免流标记不是乱加的,不会认为加的越多越有用,因为你加的东西只需要起到两个作用,第一个作用就是不被代理服务器读取到,这个10.0.0.172读取我们真实请求的方式只有运营商自己知道,这也是和谐模式的方法。但是10.0.0.172这个代理服务器获取域名网址的类型是固定的,有固定的搭配,这个搭配是HTTP文本协议所固定的,这个HTTP文本协议出现在运营商建立10.0.0.172这个代理服务器之前,所以这个固定的域名请求是固定的不可改变的。下一课我们首先学习10.0.0.172读取固定搭配域名的关系。(10.0.0.172和10.0.0.200这其实就是两个代理服务器,由他们读取我们的网址域名,然后由10.0.0.172去解析成物理ip地址,因为每一个虚拟主机都是很麻烦很复杂的,记忆很难,所以我们就缩短成一个一个的域名网址,只需要10.0.0.172去找这个域名所代表的虚拟主机。)上面我们说了我们修改模式加入免流标记的第一个作用之后,那么第二个作用就很简单了,那就是被计费系统读取到,(怎么被计费系统读取,认为是正常的免流量行为我们下面会学习的,因为这是免流12年来最权威的一本学习资料。)

第二课:

代理服务器10.0.0.172如何读取主机域名,这是免流模式最复杂,最难点,我们分成三个小点来学习。

HTTP文本协议(文件传输协议使得主机间可以共享文件。FTP使用TCP生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似TELNET协议在主机间交换命令和消息。文件传输协议是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上传文件,创建或改变服务器上的目录。)这些只是作为一个了解,因为这是工程师需要了解的,而你只是个偷流量的小偷,好了开个玩笑。下面请注意

看了上面的这个,你可能有点印象了,就是我们生成的这个虚拟连接就是我们需要修改处理的东西,它的例子如下(为了直观本文所有空格都会用文字阐述)

a:

GET空格http://wap.baidu.com/u/m空格HTTP/1.0

Host:空格wap.baidu.com

在这里我们的10.0.0.172自动读取主机域名是http://后面到空格HTTP/1.0之间的域名为真实域名加以解析,有人就说了,你怎么知道,因为我们把Host:空格wap.baidu.com全部去掉也是可以联网的。那位有问了那这个Host:空格wap.baidu.com是不是没有用,在这个固定搭配里基本没有用,但是它又必须存在,因为这个不管10.0.0.172代理服务器读不读取,都是HTTP文本协议所必须生成的。这也是模式里的透明代理模式,也是代理服务器10.0.0.172的第一种取值方式

b:

这里开始说10.0.0.172的第二种取值所需要的固定搭配。实例如下。

GET空格/t/html/z空格HTTP/1.0

Host:空格wap.baidu.com

这里没有http://wap.baidu.com了又如何被10.0.0.172取到值呢?其实这也是个固定的HTTP文本传输协议搭配,在这个搭配中我们的10.0.0.172没有读取到http://所以就主动放弃了去寻找http://后面的主机域名,而把GET后面的所有参数当成绝对URI了,(URI是虚拟主机中的文件夹目录,定义我们的读取网络文件的路径。)。然后自动读取文本传输协议的必须格式的Host的值为主机域名去解析物理ip地址。这第二种搭配也是文本协议的一种常态形式,我们说过文本传输协议早出于运营商的网络建设,所以10.0.0.172逃不出这些搭配。

c:

上面说了两种固定取值的原理,下面讲第三种,实例如下。

GET空格http://wap.10010.com空格HTTP/1.1

Host:空格wap.10010.com
X-Online-Host:空格wap.baidu.com

这个文本传输协议一看很简单,其实没有几个人说得清,现在我们就来好好说说这个固定搭配,看了本文前两个固定搭配是不是被这个搭配搞得有点迷茫呢,其实就一句话,如果模式里有X-Online-Host出现且格式正常有效的话就彻底推翻我们上面的两个搭配,这三个搭配没有谁好之分,记住我们的初衷是学习10.0.0.172的取值问题,只要能加入我们的免流标记又不妨碍10.0.0.172取到值,就是有用的搭配。那么这个X-Online-Host是个什么鬼,这么吊,这个X-Online-Host的书面意思是移动私有代理协议,这里的移动并不是移动公司,而是移动设备互联网。三家运营商都可以使用这个代理。因为文本传输协议中在设计之初,就有这个X-Online-Host,从手机还不能上网的时候就有了,这是移动互联网接入因特网的固定协议,所以权限大于10.0.0.172这个代理服务所解析的数据,因为英特网可以直接解析X-Online-Host的值,我们的10.0.0.172读取到X-Online-Host的值的时候就直接把这个HTTP文本传输协议甩给英特网去处理,所以这个固定搭配的原理就超出了我们上面说到的几种固定搭配的范围了。

d:

上面说了三种固定搭配了,这三种都会经过运营商的10.0.0.172这个代理服务器,下面说一个自己更换运营商代理服务器的搭配,也就是传说中的圣子模式,它的实例如下。

GET空格http://wap.10010.com/u/m空格HTTP/1.1

Host:wap.baidu.com

这个搭配和我们的第一个固定搭配透明模式很像,到是仔细看又有点不一样,到底10.0.0.172会取哪一个值去解析呢,如果取http://后面的wap.10010.com的话,那我们打开的网页就是手机营业厅了,岂不是没有免流效果,其实在这里我们已经在我们的免流平台,比如samp中已经设置了代理服务器ip,不在使用运营商提供的10.0.0.172了,也就是圣子ip,这个圣子ip基本和10.0.0.172一样的原理,到是它只识别这一个固定搭配,意思是只会读取本搭配中的Host的值,而且还不能伪装这个Host,不能任何伪装,且只有一个有效的Host,还必须是真实Host。这个搭配永远不变,只会变圣子ip。

小结,上面说了免流的基本搭配,也是模式的框架,下面我们就进阶学习如何添加伪装。(上面的内容理解完毕再往下看,不然走火入魔,轻者自宫,重者大小便失禁。)

…………………………………………未完待续。

进阶篇:

我对模式的要求是,简洁大方,骨感瘦身,风度翩翩,不要光整那些没有用的杂乱字母,因为更本就不能被计费系统读取到。

伪装模式的免流标记第一讲:

后缀大法,实例如下:

GET空格http://wap.baidu.com/u/m?wap.10010.com空格HTTP/1.0

Host:空格wap.10010.com

这个后缀模式至于如何被10.0.0.172读取到虚拟主机的值,请看上面的a小节。这个后缀模式有两点需要注意的,因为我们改变了URI的数据,在网络主机存取数据的时候会失去原来本来的路径,可能会产生浏览bug(URI上文有介绍,这里不多阐述。)第二,有部分地区会被10.0.0.172双重读取主机的值,比如说读取到http://后面的值和Host的值不一样的时候,禁止解析,所以不能联网,在a小节说的Host是多余的,倒是这里的Host:wap.10010.com是给计费系统准备的,所以有用,那我们如何避免被双重读取呢,很简单,加入Host:后面不加入别的字母。就变成如下形式

GET空格http://wap.baidu.com/u/m?wap.10010.com空格HTTP/1.0

Host:
Host:空格wap.10010.com

需要特别说明的是模式灵活多样,加入的东西也前变万化。需要你自己体会。

伪装模式的免流标记第一讲:

无缀大法,实例如下:

GET空格/t/html/z空格HTTP/1.0

空格Host空格:空格wap.baidu.com
Host:空格wap.10010.com

注意这个模式的 空格Host空格:空格wap.baidu.com 这一行。这个模式如何能联网请看上面模式取值的b小节。

我们的10.0.0.172能够读取到(空格Host空格:空格wap.baidu.com)这一行的值,到是计费系统读取不到,这充分证明了10.0.0.172代理服务器和计费系统分开的原理。而下面的那个Host就是给计费系统准备的。到是得注意的是被10.0.0.172读取数值的Host要在被计费系统读取的Host之前。这个模式还有几个变异。比如下例
GET空格/t/html/z空格HTTP/1.0

G\rHost空格:空格wap.baidu.com
Host:空格wap.10010.com

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

GET空格/t/html/z空格HTTP/1.0

G\rX-Online-Host空格:空格wap.baidu.com
Host:空格wap.10010.com

这两个变异的原理和无缀原理一样,G\r这里起到和空格同样的作用,过10.0.0.172而不过计费系统。因为这两者的读取规则不一样,这才有我们的免流。\r这是回车不换行的意思。因为没有换行也被计费系统默认为是上一行的未完表达,到是10.0.0.172读取到回车就默认换行了,这是不是很神奇,我也一直纳闷为什么计费系统的读取规则和10.0.0.172不一样呢?这里的X-Online-Host可以用上面的模式取值的C小节原理。

下面说关于X-Online-Host这种模式的伪装。实例如下

GET空格http://wap.10010.com/u/m空格HTTP/1.1

Host:空格wap.10010.com
X-Online-Host:空格wap.baidu.com

这个模式的免流标记很明显了,到是我们需要伪装什么呢?对,就是需要伪装X-Online-Host不被计费系统读取到。有的地方有这个XH就不免,因为运营商的计费系统已经设置了没有经过10.0.0.172解析地址的联网请求为黑名单(这个在上面c小节里说过用这个XH是直接引导给英特网解析的,所以没有经过10.0.0.172解析域名直接被认定不免。)到是大部分地区还是可以伪装这个XH的,伪装方法加空格让计费系统读取不到这个XH的存在。实例如下:

GET空格http://wap.10010.com/u/m空格HTTP/1.1

Host:空格wap.10010.com
空格X-Online-Host空格:空格wap.baidu.com

也可以这样

GET空格http://wap.10010.com/u/m空格HTTP/1.1

Host:空格wap.10010.com
G\rX-Online-Host空格:空格wap.baidu.com

还可以这样

GET空格http://wap.10010.com/u/m空格HTTP/1.1

Host:空格wap.10010.com
X-Online-Host:
X-Online-Host:空格wap.baidu.com

这里就是双重读取的规则,第一次读取的值是null,就默认没有,上面我们说过的。

到是注意只能有一个真实的XH有效值,不能有两个XH,比如下面的错误形式:

GET空格http://wap.10010.com/u/m空格HTTP/1.1

Host:空格wap.10010.com
X-Online-Host:空格wap.10010.com
X-Online-Host:空格wap.baidu.com

这样就不能联网了,因为10.0.0.172分不清楚了。

特别注意,现在有的人喜欢在X-Online-Host中间加入些东西,比如X-\rOnline-Host,这是完全错误的用法,因为这样写不但10.0.0.172不能识别,即使你写成X-\rOnline-Host:wap.10010.com也同样不被计费系统认可,请问你这么写的用处何在?这个X-Online-Host是固定的,是移动互联网和英特网规定死了的,你认为计费系统会改变它的样子吗?本来免流计费系统就不需要它。如果写成X-Online-\rHost:wap.10010.com的话,它的意思就是Host:wap.10010.com能不能被计费系统读取到都打个问号。

还有很多模式都喜欢用\t这个质变符号,其实就是个空格,只是抓包的时候显得很长,基本无用。我们的模式不需要那么长,你要知道你加的东西是否有效才是最重要的。怎么才能知道有效没有,那就是一个正常的联网申请中有的东西才能让计费系统读取到,如果不想被计费系统读取到,只需要用空格改变它的位置,而又能适应10.0.0.172的原理。

终结语:

免流只需要把不让计费系统读取到的伪装起来就可以了。这是需要经验的。

作者:降龙(请尊重作者,谢谢)

(以下还有很多定义类型,那些和我们免流无关,所以不多阐述。)

上面我们说了免流模式的一些最基本的知识,还有几个模式框架,这几个模式框架任你怎么修改添加些内容都不能改变模式的框架,改变了就不可以联网了,至于原因,上面认真看过的同学都知道了,下面我们讲模式的基本伪装和语法特点,因为我要把本资料打造成模式第一学习资料,有些地方如果你觉得不对,欢迎在八云帖子讨论,我也想建立一个模式学习群,不过得问问淡淡再说。

Tiny 配置:
下面先来个实际例子:

listen_port=65080;

worker_proc=2;
daemon=on;
#user=root;
mode=wap;
uid=3004;

http_others=on;

http_ip=10.0.0.200;
http_port=80;
http_del='x-online-host,host';
#替换uri字符串;
#rewrite_uri='link-type=download-low'=='link-type=download-hi';
http_first='[M] http://dl.music.189.cn[U] [V]\r\nHost: dl.music.189.cn\r\nx-oNLiNE-hOST : [H]\r\n';

#http请求时最后添加;

#http_add='';

https_connect=on;

https_ip=10.0.0.200;
https_port=80;
#这里应该填代理ip;
https_del='host';
https_first='[M] [H] [V]:dl.music.189.cn[V]\r\nHost: g1.ykimg.com\r\nAccept: */*, application/vnd.wap.mms-message, application/vnd.wap.sic\r\nContent-Type: application/vnd.wap.mms-message\r\n';
#https请求最后添加;
#https_add='';

dns_tcp=http;

dns_listen_port=65053;
dns_url='119.29.29.29';
#dns_url='http://dns1.sturgeon.mopaas.com/nslookup.php';

这是四川电信的非圣子模式,以前没有用过电信卡,老有人误导别人说四川电信只能用圣子,我就简单的测试下,四川电信,圣子,前缀,后缀,无后缀,都可以使用的哈,关键是你怎么用,就是上面说到的几种模式框架都可以成功使用。

以上实例我们只需要伪装X-online-Host就可以达到我们的免流目的,加入的免流标记也只有两处,因为我们只需要这两个代码,就可以了,时常看到一个模式比长城还长,有用吗?我们只需要伪装既能让10.0.0.172能读取并使用的x-online-host然后又不让计费系统读取到,这个目的就可以了。

第二实例:

listen_port=65080;

worker_proc=2;
daemon=on;
#user=root;
mode=wap;
uid=3004;

http_others=on;

http_ip=10.0.0.172;
http_port=80;
http_del='x-online-host,host';
#替换uri字符串;
#rewrite_uri='link-type=download-low'=='link-type=download-hi';
http_first='[M] [U] [V]\r\nH\r\tHost\t: [H]\r\nHost: wap.10010.com\r\n';

#http请求时最后添加;

#http_add='';

https_connect=on;

https_ip=10.0.0.172;
https_port=80;
#这里应该填代理ip;
https_del='host';
https_first='[M] [H] [V]\r\n';
#https请求最后添加;
#https_add='';

dns_tcp=http;

dns_listen_port=65053;
dns_url='119.29.29.29';
#dns_url='http://dns1.sturgeon.mopaas.com/nslookup.php';

这个例子是我们的那种框架,自己去上面找。这是四川联通目前可用模式,从这个例子可以看出,我们也只需要伪装一个真host,伪装后的效果就是H\r\tHost\t:[H]上面说过这个\r的作用和\t的作用了。这里只是分析我们用了几个伪装方法,在这里我们用了两个伪装,第一个\r换行不会车,然后是\t这个空格符号,其实直接可以用tiny模式中的空格代替,\t只是好看一点。

从上两个例子,我们可以灵活运用,只要熟悉作者说的那几个模式框架之后,模式是不是很简单了?你基本只需要加入一个你伪装的host,比如Host:wap.10010.com这个你加入的Host:wap.10010.com需要注意的是,你不用去伪装它,它在联网协议里是什么样就是什么样,写成X-Online-Host:wap.10010.com也是错误的写法,计费系统不是你家的,你造的它不认。然后你加空格去伪装我们模式框架里的真正需要的Host就可以了。这个空格可以加在真Host的前面和后面,或者\r后面。但是不能加在中间,比如Ho st,这就是错误的。XH也是同理。

好了,先更新这些吧!还会再更的,我的梦想的降龙宝典,是你免流入门的开始,朋友不要再改成葵花宝典了,这会伤害我的。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注