fiddler查看日志方法
打开Fiddler,看日底部那个黑乎乎的志方控制台就是日志区。很多人装了Fiddler只顾着看左侧的看日会话列表,却把这个最直接的志方排错工具晾在一边。实际上,看日当你抓不到包、志方证书报错、看日或者某个请求莫名其妙消失时,志方答案往往就藏在底部那几行日志里。看日 Fiddler的志方日志分两种。一种是看日左下角的“QuickExec”命令框,你敲什么它回什么,志方属于即时反馈。看日另一种是志方真正的日志面板,默认在界面底部,看日标签叫“Log”。如果没看到,去菜单栏View -> Tabs里勾上它。这个面板会记录Fiddler启动、加载证书、代理监听、脚本执行等所有内部动作。我见过有人抓不到HTTPS包,折腾半天证书,最后发现日志里早写着一行红字:“Failed to register Windows certificate”。 日志面板本身不复杂,就是一行行带时间戳的文本。但颜色有讲究。白色是普通信息,黄色是警告,红色是错误。红色那行必须停下来看。比如你启动Fiddler时如果80端口被占用,日志会直接告诉你“Port 8888 is already in use”,而不是弹个窗让你猜。 右键日志区域可以清空、复制、保存。保存成txt之后用Notepad++打开,搜索“error”或者“fail”,比在Fiddler里翻快得多。我习惯每次排查完问题就把日志清一次,不然下次出问题,旧日志混在里面容易看花眼。 如果你用过FiddlerScript写自定义规则,那日志面板就是你的Console。在OnBeforeRequest或者OnBeforeResponse里写一行 有个坑要注意:FiddlerObject.log默认只输出到日志面板,不写文件。如果你想让日志持久化,得用 QuickExec框支持一些内置命令,比如 另外,日志面板右上角有个小漏斗图标,点开可以按关键字过滤。输入“443”就只看跟443端口相关的行,输入“cert”就只看证书相关。过滤是实时的,不用刷新。 上周同事说Fiddler抓不到某个App的包。我让他看日志面板,他翻了半天说“没什么特别的”。我过去一看,日志里有一行黄色警告:“The system proxy was changed by another program”。原来是他电脑上另一个代理工具把系统代理抢走了。Fiddler每次启动会检查系统代理设置,被改了就会记一笔。这行日志不显眼,但直接指向问题根源。关掉那个工具,Fiddler立刻正常。 所以别只盯着左侧的会话列表。底部日志区才是Fiddler的“内心独白”。它不会主动弹窗告诉你哪里错了,但只要你去看,它什么都说了。日志面板怎么看
FiddlerScript的日志输出
FiddlerObject.log("这里是我要看的变量:" + oSession.fullUrl);,请求一过,日志里立刻打出来。这比用MessageBox弹窗优雅多了,弹窗会阻塞请求,日志不会。FiddlerObject.log配合FiddlerApplication.Log.LogString,或者干脆在规则里自己写文件。我一般调试阶段用前者,上线前改成后者,免得日志面板刷太快看不过来。用命令行过滤日志
help列出所有命令,cls清屏,select高亮特定请求。但跟日志最相关的是log命令。直接敲log,Fiddler会把当前会话的摘要信息打到日志面板。敲log -c只打客户端请求,log -s只打服务端响应。这个在批量看请求时比鼠标点来点去快。一个真实案例
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-