ios的web调试利器--weinre

项目

http://people.apache.org/~pmuellr/weinre/docs/latest/Running.html

原理

1 使用nondejs建立一个服务器;

2 使用注入方式插入一个js到被调试web页面中。这个js会尽可能的拦截页面上的实现得到上层的数据,如ajax请求,但是像图片直接加载,之类是无法得到的。同时定时向服务器发心跳码,或是返回命令结果,这个见面称之被调试页;

3 有pc上打开服务器ip,会打开一个像firebug的界面,这个称之调试台页;

这样,被调试页与调试台页使用js通过服务器互相之间发送命令、传送数据,达到调试目的。因为这样的一个特性,js无法干的事,那么,你也就无法进行调试;

使用:

1. 在centos中使用安装nodejs :  yum install nodejs

安装yum install npm

安装 npm -g install weinre

启动 weinre --httpPort 80 --boundHost -all- --verbose true --debug true

被调试页面 弄一个书签:

javascript:(function(e){e.setAttribute("src","<a href="http://192.168.0.100/target/target-script-min.js#anonymous" );document.getelementsbytagname("body")[0].appendchild(e);})(document.createelement("script"));void(0"="">http://192.168.0.100/target/target-script-min.js#anonymous");document.getElementsByTagName("body")[0].appendChild(e);})(document.createElement("script"));void(0);

打开页面点击书签注入,发现safari支持,uc过滤javascript协议,chrome需要手动输入javascript:然后再粘贴后面部分(估计是简单的把粘贴的javascript:部分过滤掉了),但是它的书签却是正常的,只不过,书签点击就会占用当前页面,所以,无法使用,如果被调试页面不会对处于框架中的而跳出top的处理,是可以使用iframe来在各个浏览器中使用这个功能,

注入成功后,它就会向服务器发送自己是调试对象的数据了。

在pc中使用服务器ip打开即可看到使用详细,ok,看看调试界面吧。

只不过,建议修改一下这些js,让这些功能更加好用点,起码被调试页面挂了,不用刷新控制台页面嘛。。。。就死发数据也没事,又不是生产环境,用不着说,被调试对象不存在了,就自动自己也挂掉。。

另外appstore上有一个叫mihtool的东西。是国人利用这个加上一些ios的特性,但是它还是这个东西的原理,只是方便了一些功能,

我使用ipad air 1 调试发现它性能很差。。。。时不时就lost contect,而使用centos弄的是秒变。所以,就没有必要使用这个工具了。

如果说有人拦截掉safari的网络底层。获取更多的如img加载,css加载,video加载之类之类,那还差不多。

因为方便性相对来多那几个功能作用对我来说不是很大。

性能上无法跟自己服务器比。

时间: 2024-08-02 11:03:29

ios的web调试利器--weinre的相关文章

Web调试利器fiddler

抓包工具HTTWATCH 已经过时啦,快来看看当代的宠儿Web调试利器fiddler .fiddler不管是对开发还是测试,还是产品:都是不可多得的工具:开发用来抓包定位问题; 测试用来抓包,回放测试记录,构造发包用例后续请看下面具体链接http://www.testroad.org/News/show.aspx?id=368

web调试利器_fiddler

此文已由作者夏君授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.fiddler简介 直接引用官网介绍 The free web debugging proxy for any browser, system or platform! fiddler是一个Web调试代理,能够支持任意浏览器.系统或平台的网络调试代理,且允许你记录所有电脑和Internet之间的所有http(s)请求,并允许你查看.设置断点.以及修改输入和输出的数据. 二.fiddler六大关键特性 官

iOS中web app调试(mac).md

目录 一.真机联调配置 二.mac上Safari配置及真机联调 三.iOS模拟器使用 四.在iOS模拟器中安装app 近期公司vue项目开发,目的是一次开发,多平台发布,其中就包含了app,app采用离线web方案,将vue打包后的js bundle文件.静态资源文件打包进app中,为提高性能.优化体验,app也通过jsbridge,暴露原生接口给web调用. 为此,web app开发时可以使用chrome等pc模拟器进行调试,但是涉及app适配,特别是原生接口调试时,就比较麻烦,必须要依赖于真

[1]移动端页面调试之“weinre大法”

前言 这个也是从早读课转载的.如有侵权请联系我马上下架. 正文从这开始-- 移动端页面调试一般分两步.第一步我们需要把本地(pc端)写的页面效果展现在移动端,一个很方便的办法是用 fiddler 作为代理,具体可以参考 如何用 fiddler 代理调试本地手机页面,这样我们就能在自己的手机上看到真机效果,有时还可以用 alert 调试一些 js:当然,有时仅仅展现样式还不够,我们希望能像 chrome 面板或者 firebug 一样查看元素的 css 样式,甚至可以在控制台看到 js 的 con

前端调试利器---nproxy

前言:习惯了在windows环境中使用Fiddler的童鞋们,是不是感觉它的网络重定向功能很酷,Fiddler能按照你设置的规制捕获网络请求,再指向本地文件,如拦截你的js文件到本地,就能很快的调试线上环境(如后台环境,测试环境,预上线环境等).但是Fiddler的使用对于初学者来说还是稍有困难的,界面功能很多,导致新手无从下手.(我当初就是这样的),并且Fiddler虽然有Mac版本,但是问题很多,我试了好几次都不行. 正文:今天给大家介绍一款新的神器,nproxy.它能通吃windows,l

Web开发经验谈之F12开发者工具/Web调试

引语:如今的整个Web开发行业甚至说整个软件开发行业,已经相当成熟,基本上已经很少找不到没有前人做过的东西了,或者换句话说,你想要实现的功能,你总能在某个地方搜索到答案,关键是你有没有这个时间精力去搜寻!以至于大多数的开发,其实就是一个找资料的过程,一个复制粘贴的过程,这的确也是一个可悲的现象.不过,换个角度来看,其实也挺好,现在咱们凡事都讲求一个效率问题,只要能实现功能,就甭管他复制粘贴抄袭了.问题的关键是,你也要能复制.粘贴.抄袭啊!难道有人给了你所有的配件你就能把车子给组装起来?难道有人送

跨平台web调试代理工具---whistle

whistle是基于Node实现的跨平台web调试代理工具,支持windows.mac.linux等所有安装了Node的操作系统,可以部署在本地机器.虚拟机或远程服务器,并通过本地网页查看或修改HTTP.HTTPS.Websocket请求(响应)的基本信息.头部及内容等. whistle把每一类操作对应一个协议,每个修改操作抽象成一个uri,通过简单设置请求url到操作uri的对应关系,实现通过配置操作请求,支持通过扩展协议新增功能:具有配置灵活,功能强大等特点. 配置界面及操作请参考:http

Reveal1.5破解,iOS_UI调试利器Reveal最新版本破解方法

Reveal1.0.7破解 1.官网下载最新版Reveal,拖动应用程序中,运行一次2.下载16进制编辑器"0xED" for mac(http://dl.vmall.com/c0kjm4b8fu)3.使用"0xED"打开文件"Macintosh HD ? 应用程序 ? Reveal ? Contents ? MacOS ? Reveal"4."0xED"菜单栏的Edit 中,Number mode 选择 Hex5.搜索tex

移动web适配利器-rem

移动web适配利器-rem 前言 提到rem,大家首先会想到的是em,px,pt这类的词语,大多数人眼中这些单位是用于设置字体的大小的,没错这的确是用来设置字体大小的,但是对于rem来说它可以用来做移动端的响应式适配哦. 兼容性 先看看兼容性,关于移动端 ios:6.1系统以上都支持 android:2.1系统以上都支持 大部分主流浏览器都支持,可以安心的往下看了. rem设置字体大小 rem是(font size of the root element),官方解释 , 意思就是根据网页的根元素