随着时代的发展,网络显得越来越重要了,很多信息的交互,都通过网络来进行了。比如说,各种类似于“俺来也”的app需要将信息传送到后台。再比如,我们大多时候需要借助形如“乐动力”,“悦跑圈”等工具将数据传送到后台,进而同步到微信等社交平台。网络信息交互的频繁,让网络技术变得更加重要。
既然数据都是以包的形式进行传送的,我们能不能通过模拟别人或者app通过模拟数据包的形式,传递任意我们想传送的数据呢?理论上是可行的。但是,事实上,由于很多软件加密机制的存在,让这一过程变得尤为困难。比如说,你有可能截取到别人QQ聊天的信息内容进而“替”别人发送QQ消息吗?有没有可能模拟“乐动力“获取分析包的内容,进而修改发送数据占领别人的封面呢?是的,QQ在发送数据时,进行了加密,即使你拿到了包,也很难看出里面的内容。“乐动力”早些时候需要提交的数据也是很简单甚至不需要校验,让很多让钻了空子,能够随心所欲地提交数据。然而现在也多了一个key,这并不是对要post的信息的直接加密,而是对信息进行某种处理,生成另外一条”密文“,当数据要进入服务器的时候,云端会做一个简单的判断,即信息和密文能否按他们制定的规则匹配上,以此来作为真假的一个辨别。因为我们难以获取别人的编码规则,所以要”以假乱真“是不容易的(具体如何译码,后面文章会讲到)。需要强调的是,现在网上盛传的对修改微信运动步数的代码公开,都是基于几个月前记步软件没有加校验而言的,现在基本行不通。
今天要说的是,如何获取和发送包,我们可以通过网络嗅探工具来进行。一般来说,最常见的是wireshark和fiddler,它们的介绍如下,孰优孰劣,不做评判:
wireshark的前身是Ethereal,2006年因为其创始人Gerald Combs的跳槽而改名为wireshark。它是一个跨平台的软件,可以在unix系列、linux、mac os、windows等多个平台上面进行网络协议抓包工作。同时他也是一个开源软件,有兴趣的话可以下载源码深入了解。我们可以通过wireshark官网进一步了解相关知识及下载该软件。
fiddler的定位是网页调试工具,能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。我们还可以为fiddler安装自己所需的插件,从而更好的利用fiddler的强大功能。详细介绍信息可以通过fiddler官网进一步了解。
**
下面重点介绍fiddler的使用。
**
- 下载和安装。安装包随便搜一下就有了。通过查看你机子的控制面板的“卸载或更改程序”可以看到你要下载的fiddler版本。如果是NET framework 4的那你就下载fiddler4版本的。安装为傻瓜式安装。
- 在菜单中找到并打开fiddler。
- 在“Tools”-“Fiddler Options”-“Connections”下勾选允许远程连接。
- 手机wlan和电脑连接到同一网段。可以手机和本本同时连接到一个有网的路由,或者笔记本开一个wifi手机连。
- 手机修改网络高级选项设置电脑IP,使电脑成为手机的代理终端,终端口填“8888”,和笔记本段保持一致。
- 手机联网操作,在fiddler左边窗口能看到流动的包。右边t“Inspectors”为你提交的信息,下为反馈会的信息。可以选中包,“decode”进行解码。
- 点击“Commposer”,可以将左边的拖动过来,做相应修改,按“Execute”提交。
- 是否提交成功,可以查看反馈回来的信息和原来照不照。
- 包的信息可以右键点击进行保存。