【Tiny模式】的基本构成
M【首头在首位】 U【/】 V【HTTP/】 Host H【真实ip】 XH
\r回车
\n换行
\t制表
\ 空格
一个基本的模式构成
[method] [uri] [version]\r\nHost: [host]\r\n[method] [uri] [version]\r\nHost: [host]\r\n
检测顺序 http
M H XH
有些地区
XH H M
我这边
Host XH M
这个自己抓包测试检测顺序 https
有些地区
M XH Host
总之就是
不固定,自己抓包这能说明什么?
有时候把Host修改成XH就能联网了[method] [uri] [version]\r\nHost: [host]\r\n
这里面为什么Host后面要有空格
大神说,这样检测不到所以我们可以写模式了
[method] [uri] [version]\r\nHost: [host]\r\nHost: \r\n
这样就运营商就检测到后面的免流ip
就免了,这模式叫做双H[method] [uri] [version]\r\nHost: [host]\rX-Online-Host: [host]\r\nX-Online-Host: \r\n
这个呢叫做假H,把第一个H头伪装成XH
这句语法其实并没结束,只是计费系统认为是H头,其实是X头,按计费系统的优先级首先检测到了X-Online-Host的值是掌厅,而那个假H头计费系统就不会管,计费系统只认优先级最高的值,而我们的×头正好是掌厅所以免了[method] \http://wap.10010.com[uri] \[version]\r\nHost:Ir\nHost:[host]\r\n空头,检测XH,第一个空的,第二个认为也是空的,首头,免流host,免了模式原则性问题必须要有真实host,不然没有网\空格\t制表这样都是免流拓展,可以多抓包,或者问大神X-Online-rHost拆成HostX-Online-Hostit这个算是迷惑吧,我这用不了
※一个Tiny模式,主要就是全局,dns解析+两个模块
*全局无非就是那几个mode啊,65080什么的。随便就行
只要有uid=3004还有mode=wap或net就可以了
uid是全免,mode是联网方式
其他看你自己任意发挥,强迫症你就全部打上去
※dns解析我也不说了,常用的那个就可以了。最多换ip,自行发挥
*所以呢,最主要的,还是两看个模块
※首先,ip和port一般都是固定的了,10.0.0.172:80
*当然,如果你用圣子ip就另外说
※其次,http_others=on还有https_connect=on这两个
*后面这个https模块的比较常见,第一个http模块的不常见
◎至少我写模式一般不会用http_others
◎假如你https模块首头是CONNECT
那你就加上https_connect=on
有什么用嘛,你就别知道太多了。。。
※说到http_del
一般常见就是X-Online-Host、Host、x-online-host、host
不常见的的有Connection、Refer等等就不说了,反正也是些废话
这些其实是他们从hap语法中移植过来的,有用吗?
我不懂,我个人见解: 干扰│或者│不检测的字符
◈也就是说假如一个模式出现这个
http_del="Host,X-Online-Host,Refer";
我就会修改成
http_del="Host,X-Online-Host";
※另外,关于X、H大小写的问题,因为我这里不检测x、h,所以,我也就不是懂,我个人见解是有
点区别。
因为,我看过有些模式x、h可免,但是换X、H就不可以免。
或者x、h个别软件啥的不能用,换了X、H就可以。
这个有三个可能原因
①不检测x、h所以起到干扰作用,为其他部分铺垫,比如
http_first="[method] [uri] [version]\r\nx-online-host: wap.gx.10086.cn\rHost: [host]\r\nHost:
wap.gx.10086.cn\r\n";
◎x-online-host干扰H真
②检测!但x、h和X、H不同
③检测!但x、h和X、H相同,只是优先级不同导致
♦以上纯属个人见解,有兴趣的自行研究。
---------------------------------------------------
※至于,是用X,H,x,h四个中的哪个。
#我自己一般用三种方式去写
第一:哪个优先级最高就用哪个,再用其次
意思就是=_=
如果你地区优先级最高是H │ X、x、h(不)检测
那就这样 http_del="Host";
如果优先级最高是X │ H、x、h(不)检测
那就这样 http_del
@店铺新人knvz
="X-Online-Host";
如果优先级最高是H,其次X │ x、h(不)检测
那就这样 http_del="Host,X-Online-Host";
同理就有 http_del="X-Online-Host,Host";
http_del="Host,X-Online-Host,host";
http_del="X-Online-Host,Host,host";
http_del="x-online-host,host";
.............................
[自行发挥]
第二:模块里有什么那就删什么
意思就是=_=
如果你的http模块像这样
http_first="[method] [uri] [version]\r\nHost: [host]\r\nHost: wap.gx.10086.cn\r\n";
Rt:我们可以看到,里面有H
那我们就可以这样 http_del="Host";
如果你的http模块是这样
http_first="[method] [uri] [version]\r\nHost: [host]\r\nHost: wap.gx.10086.cn\r\nX-Online-H
ost: [host]\r\nX-Online-Host: wap.gx.10086.cn\r\n";
RT:里面有H、X
所以我们就这样 http_del="Host,X-Online-Host";
同理我们可以 http_del="Host,X-Online-Host,host";
http_del="Host,x-online-host,host";
...............同理................
[自行发挥]
♣在这里我一般:谁在前面我就先删谁│或│谁优先级最高就删谁
比如H在前面,X在后面。就http_del="Host,X-Online-Host";
.............同理..............
[自行发挥]
比如H优先级最高,其次X。就
http_del="Host,X-Online-Host";
.............同理..............
[自行发挥]
------------------------------------------------------------------------------------------------------
第③种:根据地区优先级选择删除
假如你的地区X优先级最高,你又想在first中用H,那你就要
http_del="X-Online-Host,Host";
同理自行发挥
------------------------------------------------------------------------------------------------------
好了,基础的部分讲完了,下面就是重要的部分
要写出一个可以免的模式,首先我们要知道地区的检测优先级
♣地区检测优先级♣ x 3遍
测试的方法论坛有好多,善用搜索。
我这里也大概说一下我一般怎么看的吧
---------------------------------------------------
①最简单的方法,看别人的模式。我常用,举个例子
http_first="[method] [uri] [version]\rHost : [host]\r\nHost: wap.gx.10086.cn\r\n";
♦比如这个模式,我们可以看到首头之后是H真,但Host :这里有一个空格,干扰了H真的检测,就跳
到H伪正常检测
所以,这个模式如果可免,你可以理解以下三点
♦H的优先级>首头
♦可能只检测H,不检测X、x、h等
♦可能X、H、x、h都检测,其他三者之一优先级最高
但我们不用那三个,我们只用H(因为四个都检测可联网)
这个要根据del删除的请求头分析
现在开始写模式要经过那几个步骤:
1.抓包,抓免流host,抓模式(非必要)
2.测试机制(什么是机制,机制就是你这个地区的检测优先条件,下一节会细说什么是优先)
3.知道机制后再机制中写伪装,然后测试免流
现在先说第一节 抓包,抓包不是必须的,但是也不是不用,有时候看到免流的程序你想知道人家怎么免流的
就可以抓包,看看是什么host怎么免流,用什么伪装,都会在抓包里面显示出来
好了首先抓包要有抓包程序
至于抓包程序很多,我个人是用wi.cap
程序我后面会发出来自己下载
好了先开始
打开程序
这个是程序界面,还算不错,蛮漂亮的
我们抓包一般都是抓post 、get的包
先点这里
然后选择 #text
选择 text=GET|text=POST就会返回这里
我们先抓包一个程序吧,我们都知道咪咕音乐是移动流量全免的吧
那好我们抓包看看
点击右边的箭头开始然后打开你的咪咕音乐
(为了准确性,其他程序最好退出)
随便选择一个音乐播放然后切回这个程序
点停止你会发现
分析得到这个地址是咪咕音乐的
点开 :信息- http
模式就在里面
这些里面其实就是一个免流模式了(可以这么说)
这里能得到很多消息例如免流host、代理方式等具体看下面
这样这里有用的消息就如上图了,
免流host最重要、
然而这里就是一个模式细心的就可以发现这里可以做免流模式
可以提取如下
http_first=”[M] [U] [V]\r\nUser-Agent: migumusic\r\nHost: freetyst.mll.migu.cn\r\nConnection: Close\r\n”;
当然现在是没有真实host肯定不能联网不过这也要根据检测机制来改下面是根据检测机制是xh优先可以这样写
http_first=”[M] [U] [V]\r\nUser-Agent: migumusic\r\nHost: freetyst.mll.migu.cn\r\nConnection: Close\r\nX-Online-Host: [H]\r\nX-Online-Host:freetyst.mll.migu.cn\r\n”;
先看下面的完整模式
#模式,wap或net,net_proxy,net_off(net模式下,代理ip和端口无效,net_proxy非80端口http走http_ip代理,net_off非80端口http请求不连网)
mode=wap; #(不懂别动)
#监听端口
listen_port=65080; #(不懂别动,这里的apn记得端口是65080)
#后台运行 on打开,off关闭
daemon=on; #(不懂别动)
#子进程数量,默认0
worker_proc=0; #(不懂别动)
#用户,只支持root inet net_raw等有限几个
#user=net_raw; #(不懂别动)
#uid和用户只能设置一个
uid=3004; #(不懂别动)
#http代理ip和端口
http_ip=10.0.0.172; #(不懂别动)
http_port=80; # (不懂别动)
#删除http请求头域,不区分大小写,多个用英文逗号,分隔
http_del=”X-Online-Host,Host”; #(可以稍微动下)
#修改http请求首行
http_first=”[method] [uri] [version]\r\nHost: \r\r\n Connection: keep-alive\r\n\r\t二舅\r\rX-Online-Host: [host]\r\n\t”; #(可以动)
#支持https(CONNECT)请求,on打开,off关闭,其它同http
https_connect=on; #(不懂别动)
https_ip=10.0.0.172; # (不懂别动)
https_port=80; #(不懂别动)
https_del=”X-Online-Host,Host”; #(可以稍微动下)
https_first=”CONNECT [host] [version]\r\nX-Online-Host: rd.go.10086.cn\r\nConnection: keep-alive\rX-Online-Host: [host]\r\nHost: rd.go.10086.cn\r\n”;#(可以动)
#dns解析(http解析ip,php为dnsp解析地址) #(以下都是不懂别动)
dns_tcp=http;
dns_listen_port=65053;
dns_url=”119.29.29.29″;
好了仔细看上面的下面来说重点,怎么检测机制
从模式里面可以看到一般都是有host 、X-Online-Host吧 这两个是关键
还有一个号称首伪的东西就是
[method] [uri] [version]
这个就是首伪
那么重点来了怎么测试机制
机制又是什么?
机制就是每个地区的检测host 、X-Online-Host的优先程度还有首头也就是上面的首伪,一般怎么检测呢给出几个方案你可以根据一个方案来搭配下面以http模块来测试
[method] 留空 [uri] [version] host:真 host:伪(双h,也就是两个host)
这个可能很多人看不懂这是什么意思
完整的代码就是
http_first=”[method] [uri] [version]\r\nHost: [host]\r\nHost:wap.10086.cn\r\n”;
把这个替换掉上面模式里面的
http_first=”[method] [uri] [version]\r\nHost: \r\r\n Connection: keep-alive\r\n\r\t二舅\r\rX-Online-Host: [host]\r\n\t”;
很多人看不懂这里替换是怎么替换,替换是把完整模式里面的上面那段替换掉也就是
看到没有,就替换这里然后整个模式放到你的防跳里面(有些防跳只要http模块的和https模块的自己改)
下面替换以此类推
然后测试能不能上网,不能上网就调过来
http_first=”[method] [uri] [version]\r\nHost: wap.10086.cn\r\nHost:[host]\r\n”;
这两个肯定有一个能用的,能用的那个这个就是你的机制
那么上面进行伪装就能写一个模式了
那下面还有
[method] 留空 [uri] [version] host:真 X-Online-Host:伪(这个主要测试的是host优先还是 X-Online-Host优先)
完整的模式就是
http_first=”[method] [uri] [version]\r\nHost: [host]\r\nX-Online-Host:wap.10086.cn\r\n”;
把上面的替换进模式里面的
http_first=”[method] [uri] [version]\r\nHost: \r\r\n Connection: keep-alive\r\n\r\t二舅\r\rX-Online-Host: [host]\r\n\t”;
看看能不能用,要是不能用的话就把[host]和wap.10086.cn调转过来
http_first=”[method] [uri] [version]\r\nHost:wap.10086.cn \r\nX-Online-Host:[host]\r\n”;
这里就是xh和h优先的测试方法也就是第二种方法
下面进行第三种也就是首伪
楼上说了首伪就是
[method] [uri] [version]
那么模式这样写
http_first=”[method] http://wap.10086.cn [uri] [version]\r\nHost:wap.10086.cn \r\nX-Online-Host:[host]\r\n”;
替换上面你懂的 还不懂的话我没办法了
测试能不能用不能用的话就换下host 和wap.10086.cn的位置也就是
http_first=”[method] http://wap.10086.cn [uri] [version]\r\nHost:[host] \r\nX-Online-Host:wap.10086.cn\r\n”;
写漏了一句
http_first=”[method] http://[host] [uri] [version]\r\nHost:wap.10086.cn \r\nX-Online-Host:wap.10086.cn\r\n”;
(注意:很多地区都不能用首伪模式这个根据地区而定吧)
怎么伪装?这个要我说我也很难详细的回答,因为伪装都是经验和思维,意思是伪装太多了
一般来说伪装有
\r代表回车
\n代表换行
\t代表制表
post 发送请求
[method]代表请求方法GET
[host]代表真实host
[uri]代表/index.html
[version]代表HTTP/1.1
还有一些其他的Connection: Close等太多这里不列举
这样估计有人看不懂我来拿上一个抓包告诉你怎么写伪装
GET /public/xxxxxxxx/xxxxxxxx这里一堆东西 HTTP/1.1
Host: freesyst.mll.migu.cn
如上请求中
[method]代表请求方法GET
[host]代表 freesyst.mll.migu.cn
[uri]代表/index.html
[version]代表HTTP/1.1
\r代表回车
\n代表换行
\t代表制表
https_first语法同上,只是没有[uri],并且[host]包含端口,[host_noport]不含端口
那么这个抓包还原就是
[method] /public/xxxxxxxx/xxxxxxxx这里一堆东西 [version]/r/nHost: freesyst.mll.migu.cn
然而我们写模式一般都直接这样写:
[method] http:// freesyst.mll.migu.cn[uri] [version]\r\nHost: freesyst.mll.migu.cn
或者直接这
[method] [uri] [version]\r\nHost: freesyst.mll.migu.cn
主要是看机制 那么上一节我们说了机制要怎么运用这里呢,先举个例子:
如果:xh>h 而不能用首伪 (什么是xh 什么是h 什么是首伪,不懂的就翻我前面写的文章不懂就看多几次)
模式就这样写[method] [uri] [version]\r\nHost: freesyst.mll.migu.cn\r\nX-Online-Host: [H]\r\n
对于这样肯定也是不免的,为什么?因为这里直接算是透明模式,刚刚开始这样写是免的现在估计不能免了,所以我们要变形,这里就是灵活的地方,然而我一般会这么写:
[method] [uri] [version]\r\nX-Online-\rHost: freesyst.mll.migu.cn\r\nHost: freesyst.mll.migu.cn\rX-Online-Host: [H]\r\nX-Online-Host: freesyst.mll.migu.cn\r\n
好了我先来解析这里是怎么看, 忘了说,\r这伪装在上网系统里面的识别是回车,而计费系统识别的确却是*从而达到了伪装的效果,我上面的伪装怎么伪装的呢首先计费系统检测到是这样的:
get /index.html HTTP/1.1
X-Online- 这里的\r识别成回车所以没事
Host: freesyst.mll.migu.cn
Host: freesyst.mll.migu.cn 这里的\r识别成回车所以没事
X-Online-Host: [H]
X-Online-Host: freesyst.mll.migu.cn
这里还是xh优先所以能上网因为整个模式里面第二个xh在第一个xh真的后面所以这样写能正常上网,达到伪装(免不免不是这节的重点)。
然而计费系统检测到的却是这样的:
get /index.html HTTP/1.1
X-Online-*Host: freesyst.mll.migu.cn
Host: freesyst.mll.migu.cn*X-Online-Host: [H]
X-Online-Host: freesyst.mll.migu.cn
看到猫腻没有\r破坏了完整的X-Online-Host所以系统检测到这里直接跳过了。
再举一个例子:h>h 而不能用首伪 (这里的两个h,意思是传说中的双h模式。h>h也就是说当两个h出现的时候上网检测第一个h。 什么是h 什么是首伪,不懂的就翻我前面写的文章不懂就看多几次)
这怎么写呢?
[method] [uri] [version]\r\nHost: [H]\r\nHost: freesyst.mll.migu.cn\r\n
怎么加伪装呢?之前一个J\r双h很厉害免了很多地方所以这里这样写
[method] [uri] [version]\r\nJ\rHost: [H]\r\nHost: freesyst.mll.migu.cn\r\n
这里的上网检测是这样的:
get /index.html HTTP/1.1
J
Host: [H]
Host: freesyst.mll.migu.cn
而收费检测到的是这样:
get /index.html HTTP/1.1
J*Host: [H]
Host: freesyst.mll.migu.cn
类似的还有
[method] [uri] [version]\r\nJ\rHost: [H]\r\n免流模式\r\nHost: freesyst.mll.migu.cn\r\n
[method] [uri] [version]\r\n免流模式\r\rHost: [H]\r\nHost: freesyst.mll.migu.cn\r\n
等等 很多
如果这里还看不懂的话就要认真仔细看,你问我怎么伪装
这话真难回答,伪装太多太多了
好了分析下最新的模式给你们看
7月24日的移动模式,来自妖火的
mode=wap;
listen_port=65080;
daemon=on;
worker_proc=0;
user=net_raw;
#HTTP模块(请勿修改任何代码)
http_ip=10.0.0.172;
http_port=80;
http_del=“Host,X-Online-Host“;
http_first=“[method] [uri] HTTP/1.1\r\nX-online-\rHost :[host]\r\nX-online-Host:\rwap.cmvideo.cn\r\n“;
#HTTPS模块
https_connect=on;
https_ip=10.0.0.172;
https_port=80;
https_del=“Host,X-Online-Host“;
https_first=“CONNECT / HTTP/1.1\r\nX-online-\rHost :[host]\r\nX-online-Host: wap.cmvideo.cn\r\n“;
#Tdns配置
dns_tcp=http;
dns_listen_port=65053;
dns_url=“119.29.29.29“;
这里的模式机制是h>xh 没有首伪
上网检测到的是
get /index.html HTTP/1.1
X-online-
Host :[host]
X-online-Host:
wap.cmvideo.cn
扣费系统检测到的却是
get /index.html HTTP/1.1
X-online-*Host :[host]
X-online-Host:*wap.cmvideo.cn
破坏了第一个xh所以免了
不过这个模式比较特别因为在xh伪上加了\r这样估计只有几个地区能用因为这样的伪装要看机制检测不检测中间伪了,但是因为比较特别所以效果也很强。
【联通模式】
listen_port=65080;
worker_proc=0;
mode=3gnet;
daemon=on;
uid=3004;
token_api="http://kc.iikira.com/kingcard";
http_ip=116.128.177.231;
http_port=8090;http_del="X-Online-Host,Host";
http_first="[M] http://[H][U] [V]\r\nQ-GUID: [Q_G]\r\nQ-Token: [Q_T]\r\nHost: [H]\r\n";
https_connect=on;
https_ip=140.204.55.29;
https_port=8091;
https_del="X-Online-Host,Host";
https_first="[M] [H] [V]\r\nHost: [H]\r\nQ-GUID: [Q_G]\r\nQ-Token: [Q_T]\r\n";
dns_tcp=http;
dns_listen_port=65053;
dns_url="119.29.29.29"
【电信模式】
mode=wap;
listen_port=65080;
daemon=on;
worker_proc=0;
uid=0;
http_ip=cloudnproxy.n.shifen.com;
http_port=443;
http_del="Host,X-Online-Host";
http_first="[M] http://[H][U] [V]\r\nHost: 153.3.236.22:443\r\nX-T5-Auth: 683556433\r\nUser-Agent:baiduboxapp\r\n";
https_connect=on;
https_ip=cloudnproxy.n.shifen.com;
https_port=443;
https_del="User-Agent";
https_first="[M] [H] [V]\r\nHost: 153.3.236.22:443\r\nX-T5-Auth: 683556433\r\nUser-Agent:baiduboxapp\r\n";
dns_tcp=http;
dns_listen_port=65053;
dns_url="119.29.29.29"