Tiny几年前的东东了,那还有用吗?当然有用了,
1:Tiny可以利用运营商的WAP服务器,部分地区的WAP不限速不限量,成本小。
2:Tiny/Tiny脚本可支持圣子,和目前网络运营商的白名单验证,如王卡动态,百度直连。
3:脚本版效率高,占用资源少,配合大佬们的脚本跳点低。
前言:写这篇教程的初衷是教群里的几个基佬写模式的,既然写出来了就索性发到网上。
tiny教程很多,这篇教程,只是小白写给小白的。
先从一张抓包图讲起吧。
1.一个正常的抓包是下图这样的
里面的内容各自代表
HyperText Transfer Protocol(传输协议)
GET /qq_product_operations/banner/20180502liantong/wangka1242X150_7.png?mType=Other HTTP/1.1
(请求头)
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Redmi Note 3 MIUI/V7.2.2.0.LHOCNDA)
(浏览器身份)
Host: sqimg.qq.com
(域名/IP 地址和端口号)
Connection: Keep-Alive
(保持连接,等待后续请求)
Accept-Encoding: gzip
(压缩种类和方法)
(结尾)
2.运营商是根据Host后面的域名/IP计费的,白名单域名/IP不计费
3.有一段代码可以把Host后面的正常域名/IP替换成白名单域名/IP,从而达到不计费的目的
4.这段代码就是tiny
5.tiny的原理是,把原来的域名/IP删掉,然后替换成白名单域名/IP,从而瞒过运营商的计费系统
6.可是仅仅替换掉还不行,因为这样只能瞒过计费系统,却瞒不过联网系统,联网系统只有看到真实域名/IP才给上网
7.所以,如果能做到既能让联网系统认为网络请求正常,又能让计费系统认为你访问的是白名单,那么就达到了免流量上网的目的
8.这个“如果”的实现方式是模式
9.模式是给tiny代码下达的命令,你下什么命令,tiny就输出什么结果
10.当输出的结果达成了如果的条件,也就实现了如果
11.下面用一个模式来说明,这个模式对应开头的抓包
12.不过在讲模式之前,先讲下模式里的主要字符含义,同样对应开头的抓包
[method]=[M]代表GET(也代表POST、CONNECT,都是请求方式)
[uri]=[U]代表/qq_product_operations/banner/20180502liantong/wangka1242X150_7.png?mType=Other俗称后缀
[version]=[V]代表HTTP/1.1俗称网络协议
代表回车
代表结尾
同样代表结尾
[host]=[H]代表sqimg.qq.com俗称真实域名
13.完整模式来了(电信WAP网关为10.0.0.200:80)
mode=wap;
listen_port=65080;
daemon=on;
worker_proc=0;
uid=3004;
#http模块
http_others=on;
http_ip=10.0.0.172;
http_port=80;
http_del='Host,X-Online-Host';
http_first='[method] [uri] [version] Host: [host] Host: migumovie.lovev.cn ';
#https模块
https_connect=on;
https_ip=10.0.0.172;
https_port=80;
https_del='Host,X-Online-Host';
https_first='[method] / [version] Host: [host] Host: migumovie.lovev.cn ';
#解析模块
dns_tcp=http;
dns_listen_port=65053;
dns_url='114.114.114.114';
14.这个模式的抓包图是这样的
15.这个模式里面,除了
http模块
http_del='Host,X-Online-Host';
http_first='[method] [uri] [version]
Host: [host]
Host: migumovie.lovev.cn
';
和https模块
https_del='Host,X-Online-Host';
https_first='[method] / [version]
Host: [host]
Host: migumovie.lovev.cn
';
这两段外 其他都是固定的,不需要改,也不需要深究为什么,当成模式的固定架构就好了
16.当然是可以改的,但是要等你熟练了以后,再去试,去研究,没人能还不会走就学怎么跑
17.下面讲这两段的含义
http_del='Host,X-Online-Host';
代表删除开头抓包里的Host: sqimg.qq.com
http_first='[method] [uri] [version]
Host: [host]
Host: migumovie.lovev.cn
';
代表添加一行GET /qq_product_operations/banner/20180502liantong/wangka1242X150_7.png?mType=Other HTTP/1.1
,一行
Host: sqimg.qq.com
,一行Host: migumovie.lovev.cn
组合起来就是添加了下面这段内容: GET /qq_product_operations/banner/20180502liantong/wangka1242X150_7.png?mType=Other HTTP/1.1
(完整的请求头)
Host: sqimg.qq.com
(联网系统通过,计费系统忽略) Host: migumovie.lovev.cn
(联网系统忽略,计费系统通过)
18.为什么计费系统会忽略?因为Host前面有个
,而计费系统只有Host前面没有任何字符时才会去读取;但联网系统只要看见完整的Host: [host]就通过,不管前后有没有字符、有多少字符
19.为什么联网系统会忽略?因为联网系统只认完整的Host: [host];但计费系统只要看见Host前面没有字符,就会以后面的域名/IP判断计费方式,后面的域名是什么?咪咕影院啊,不扣流量的域名
20.多看两遍,是否明白了,模式的精髓就是…… 干扰真实 添加伪装
21.
就是干扰 migumovie.lovev.cn就是伪装
22.干扰理论上来说也可以是abc、关注我你会火等等任何字符,但是那只是理论,因为大部分字符都不被联网系统认可,一看见就直接忽略了,常用的干扰通常是/、、
、 、X-Online-/r、@、空格等等,别问我为什么,因为我不是联网系统的亲戚,只能说这是大家的经验吧,用这些干扰相对来说容易有网。
23.把
换成@*+
后的抓包图是这样的
效果跟一个
一样,干扰只要达到让计费系统忽略让联网系统通过的目的就行了,没必要搞些乱七八糟的字符,没用,很乱不说,有时候还影响网速和网页
24.伪装就不用说了,本身就是伪装,就再加干扰了,老老实实的用Host: 伪装域名/IP
就行了,无非就是换换伪装域名/IP
25.https模块对比http模块是一种不同的协议,除了请求头里没有后缀也就是[uri]外,其他都是一样的,不再细说
26.最后说一下tiny的用法