fiddler log能自动存log吗

Fiddler的使用 & 非你网丶非你不可
Fiddler是我们用来做调试的利器,特别是在需要替换远程服务器上的文件的时候。这里只是简单的说几个功能点。
1,窗口简单介绍。
2,Fiddler的快捷键。
3,Fiddler的替换方法。
先看看Fiddler的平面截图:
左侧窗口:
左侧是回话列表,所有的http请求,https请求都会排列出来。
右侧窗口:
Stastics:统计选中的一个或多个请求相关数据,大小、耗时
Inspectors:多种方式查看Request或者Response的详细消息
AutoResponder: 设置一些规则将符合规则的请求指向本地。
Composer:创建发送HTTP请求
Filters:设置会话过滤规则,
Timeline:网络请求时间
Fiddler的快捷键:
1,ctrl + x。或命令框里输入命令:cls。该快捷键是清除抓取的http请求地址。
2,ctrl + alt + F。将Fiddler,从后台呼唤出来。
3,Alt + Q。焦点定位到命令输入框中。
4,Ctrl + I。全选。
5,Shift + Del。全删除。
6,Ctrl + X。清理左侧面板。
7,F6。最大化右侧区域。
命令输入区域如下图:
Fiddler的替换方法:
在AutoResponder的列表下。我们可以创建想要替换文件的路径。完全用本地文件来代替需要从服务器下载的文件。
这个对于跟踪调试远程服务器上的文件非常有效。比如在A域名下有个vote.swf文件,在本地你做了功能的修改。你想知道功能修改后的vote.swf的文件效果,而又不想上传到远程服务器上去。这个时候,就可以Fiddler设置用本地的vote.swf替换远程服务器上的vote.swf就可以。 仅仅设置下替换的url就能达到这个效果。
下边说下匹配原则。
EXACT表示完整匹配URL时,才进行映射处理。
regext:(?insx)表示可以使用正则来匹配哪些URL需要进行映射处理。
完全匹配是最简单最方便的设置。如上边平面截图AutoResponder列表下。
还有一种,如果文件后边跟动态参数时,就需要用正则来匹配映射了。如图:
regex:^/ishow/index.swf\?(?.*)$
这样,和之对应的url可以匹配任意的/ishow/index.swf&id=random这种情况了。
下边,再简单说下和前端开发调试密切相关的:
使用AutoResponder本地调试文件。请参考如何直接调试线上页面的JavaScript和CSS.
使用QuickExecBox快速操作。请参考. 推荐熟练掌握的命令:?sometext, bpu, go, urlreplace. 快捷键:Alt + Q, Ctrl + I, Shift + Del, Ctrl + X, F6.
使用Filter过滤信息。比如禁用JS, 设置断点等等。
使用bpu + Inspectors动态修改Response. 比如修改页面中的JS代码片段等等,非常有用。
使用Request Buidler测试请求。可以很方便的测试ajax代码。
使用Statistics + Timeline + neXpert查看性能等统计数据。
使用CustomRules, 自定义配置和命令等。比如修改var m_DisableCaching: boolean =的值为true, 就可以默认禁止缓存。还可以自定义命令等等。
开发自己的扩展。请参考Extending Fiddler with .NET Code.
有微信的朋友请扫扫
© 2012当前访客身份:游客 [
1)Writing is thinking.  2)If you&re interesting someone won&t agree with what you said.
:转走了 ,谢谢!
:楼主写得很不错,谢谢!
:@红薯 大哥,“答案”这个词啥时候成了敏感词?是...
:不错的文章,多谢分享
:写的很好,通俗易懂
:请教一下:“clustered by和sorted by不会影响数...
:请问2.6连接linux集群出现这个错怎么办org.apach...
今日访问:200
昨日访问:745
本周访问:7948
本月访问:22690
所有访问:558768
由于作者设置了权限,你没法阅读此文,请与作者联系
相关文章阅读评论- 155&
刚刚接触Fiddler2软件,发现是英文版的,虽然可以帮助我们提高英语水平,但是总要知道意思吧
今天花了一个晚上的时间,整理了一下,这里给大家参考一下,希望有翻译不对的地方 请大家指出
----文件capture traffic
----捕捉通讯load archive
----存档Save
All Session...
---全部会话
Selected Session
----选择了的会话Import Sessions...
----导入会话Export Sessions
----导出会话
All Session...
----全部会话
Selected Session
----选择了的会话Exit
----退出Edit
----编辑Copy
----只是网址
Headers Only
----只是报文头
Full Summary
----全部摘要
Terse Summary
----简要Remove
Selected Sessions
----选择会话
Unselected Sessions ----反选会话
All Sessions
----全部会话Select All
----选择全部Paste Files as Sessions ----作为会话粘贴文件Mark
----标记Unlock for Editing
----调为可编辑Find Sessions
----查找会话Rules
----设置Hide Image Requests
----隐藏图片请求Hide HTTPS CONNECTs
----隐藏HTTPS连接Automatic Breakpoints
----自动断点
Before Requests
----请求之前
After Responses
----相应之后
Ignore Images
----忽略图片Customize Rules...
----自定义规则Require Proxy Authentication ----代理验证Apply GZIP Encoding
----采用GZIP编码Remove All Encodings
----删除全部编码Hide 304s
----隐藏304会话Request Japanese Content----要求日语内容User-Agents
----用户代理Performance
Simulate Modem speeds----模拟调制解调器速度
Disable Caching
----禁用缓存
Show Time-to-Last-Byte----显示时间的最后字节
Show Response Timestamp----显示响应时间戳记Tools
----工具Fiddler Options...
----Fiddler选项WinINET Options...
----WinINET选项Clear WinINET Cache
----清楚WinINET缓存Clear WinINET Cookies
----清楚WinINET的CookiesTextWizard
----文字编码解码Compare Sessions
----比较会话Reset Script
----重置脚本Sandbox
----沙箱View IE Cache
----查看IE缓存HOSTS...
----主机View
----视图Squish Session List
----会话列表格式Stacked Layout
----堆叠布局Show Toolbar
----显示工具条Inspectors
----嗅探Composer
----构造Minimize to Tray
----关闭自托盘Stay on Top
----前端显示AutoScroll Session List ----自动滚动会话链表Refresh
----刷新Help
----帮助Fiddler Help
----Fiddler帮助Fiddler Community Discussions ----Fiddler社区讨论HTTP References
----HTTP的参考Troubleshoot Filters...
----故障排除Check For Updates...
----检测更新Send Feedback...
----发送反馈About Fiddler
----关于FiddlerDonate
----捐赠Shop at Amazon...
----亚马逊商店Hide this menu
----隐藏此菜单Replay
----重播Resume
----恢复Stream
----流Decode
----解码Keep:All sessions
----保持全部会话Any Process
----任何进程Find
----查找Save
----保存Browse
----打开浏览器Clear Cache
----清除缓存TextWizard
----文字编码解码HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别1XX
提示信息 - 表示请求已被成功接收,继续处理2XX
成功 - 表示请求已被成功接收,理解,接受3XX
重定向 - 要完成请求必须进行更进一步的处理4XX
客户端错误 -
请求有语法错误或请求无法实现5XX
服务器端错误 -
服务器未能实现合法的请求Protocol
----协议Host
----主机URL
----统一资源定位符Body
----IE的内容Caching
----缓存Process
----进程Comments
----评论Custom
----自定义Statistics
----统计Inspectors
----嗅探AutoResponder
----自动响应Composer
----请求构造FiddlerScript
----Fiddler脚本Filters
----过滤器Log
----日志TimeLine
----时间轴Show Chart
----显示图Headers
----报文头TextView
----文本视图SyntaxView
----同步视图WebForms
----web窗体HexView
----十六进制视图Auth
----验证Cookies
----CookiesRaw
----原Json
希望对大家有帮助&&
阅读(...) 评论()当前访客身份:游客 [
1)Writing is thinking.  2)If you&re interesting someone won&t agree with what you said.
:转走了 ,谢谢!
:楼主写得很不错,谢谢!
:@红薯 大哥,“答案”这个词啥时候成了敏感词?是...
:不错的文章,多谢分享
:写的很好,通俗易懂
:请教一下:“clustered by和sorted by不会影响数...
:请问2.6连接linux集群出现这个错怎么办org.apach...
今日访问:200
昨日访问:745
本周访问:7948
本月访问:22690
所有访问:558768
关于 WEB/HTTP 调试利器 Fiddler 的一些技巧分享
发表于2年前( 01:49)&&
阅读(6725)&|&评论()
0人收藏此文章,
1、原理简介:
Fiddler 是目前最强大最好用的 Web 调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置 CGI 请求的断点,甚至修改输入输出数据。同类的工具还有httpwatch,firebug,wireshark,google审查元素。与这些基于网页浏览器的工具不同,fiddler是一个富客户端桌面工具,不仅能监听浏览器对网页的请求和对浏览器的响应(http和https请求),而且可以监听其他程序(比如java桌面应用)的http请求(当然需要额外的设置,在此不赘述)。另外,值得一提的是,即便在浏览器的调试中,它也能胜任其他工具,比如IE浏览器,当我们需要弹出一个模式对话框(modalDialog)时,这些浏览器监听插件就派不上用场了,还得fiddler出场。如果你还未曾听说过这个工具,请先阅读这篇科普文:
fiddler 和常见的底层抓包(网卡)&工具不一样(如&wincap、wireshark),它是在 web server 和 web browser 之间搭了一层 proxy,所有的请求都会经过它,如下图所示:
& & fiddler在客户浏览器及web服务器之间充当了一个请求及响应的代理角色,它会在本地建立一个默认代理服务,端口为8888,为此我们访问一下此端口,可见如下效果:
2、一些常用技巧介绍:
(1)Fiddler中设置断点修改Request
第一种:打开Fiddler 点击Rules-& Automatic Breakpoint &-&Before Requests(这种方法会中断所有的会话) 如何消除命令呢? &点击Rules-& Automatic Breakpoint &-&Disabled 第二种: &在命令行中输入命令: &bpu
& (这种方法只会中断) 如何消除命令呢? &在命令行中输入命令 bpu
(2)Fiddler中设置断点修改Response
第一种:打开Fiddler 点击Rules-& Automatic Breakpoint &-&After Response &(这种方法会中断所有的会话) 如何消除命令呢? &点击Rules-& Automatic Breakpoint &-&Disabled 第二种: &在命令行中输入命令: &bpafter
& (这种方法只会中断) 如何消除命令呢? &在命令行中输入命令 bpafter,
(3)自动重定向&AutoResponder 到本地文件
创建重定向规则,例如将目标请求是这个js的HTTP请求重定向到本地文件
请参考阿里 UED 的这篇:使用Fiddler提高前端工作效率 (实例篇)
(4)过滤会话 session list filter:
比如你可能在debug某些网页时,会遇到上百个请求,看的你眼花缭乱,这是你可以启用 fiddler 强大的过滤机制,还可以依据正则来过滤,
如:&REGEX:(empty.js.gif|__utm.gif)&,
具体你可以参考:
(5)请求构建器(Request Builder)、对两个数据流进行比较
(6)文本编码和解码:开启Tools -& Text Encode/Decode
(7)模拟user-agent:Rules-&Customize Rules、模拟慢速网络
(8)fiddler 打印 cgi log:
(9)fiddler-使用技巧:
(10)FiddlerScript:
(11)Filters Reference:
& & & & &&
(12)自定义列:Add Columns to the Web Sessions List:
& & & & & 可以看上图的蓝色方框就是自定义列
& & & & &举个栗子:
& & & & &在 rule规则脚本的&static function Main() 函数中添加 3 列:远程ip、referer、ReturnedCookie
//&The&Main()&function&runs&everytime&your&FiddlerScript&compiles
static&function&Main()&{
&&&&var&today:&Date&=&new&Date();
&&&&FiddlerObject.StatusText&=&"&CustomRules.js&was&loaded&at:&"&+&
&&&&FiddlerObject.UI.lvSessions.AddBoundColumn("remoteIP",&200,&"X-HOSTIP");
&&&&FiddlerObject.UI.lvSessions.AddBoundColumn("Referer",&200,&"@request.Referer");
&&&&FiddlerObject.UI.lvSessions.AddBoundColumn("ReturnedCookie",&200,&"@response.Set-Cookie");
&&&&//&Uncomment&to&add&a&"Server"&column&containing&the&response&"Server"&header,&if&present
&&&&//&UI.lvSessions.AddBoundColumn("Server",&50,&"@response.server");
&&&&//&Uncomment&to&add&a&global&hotkey&(Win+G)&that&invokes&the&ExecAction&method&below...
&&&&//&UI.RegisterCustomHotkey(HotkeyModifiers.Windows,&Keys.G,&"screenshot");&
(13)常用fiddler命令:
选择类:?text、&size、&size、=status、@host、
blod text、select、allbut、keeponly
断点类:bpafter、bps、bpv、bpm、bpu
控制类:hide、start、stop、show、quit
其他:cls/clear、dump、g/go、help、urlreplace
例如:?text 高亮选中会话后,shift + delete 即可反选删除,这样就过滤除了你要的 session 请求。
3、注意的问题及解决方法
(1)chrome和firefox浏览器无法被监听
fiddler安装之后,默认会在IE浏览器中安装一个fiddler的插件,所以它对IE及国内基于IE内核的各类浏览器都能实现监听,但其他内核的浏览器无法被监听。
解决办法:禁用chrome和firefox中具有代理功能的插件,比如我的chrome安装了switchSharp,禁用它或选择“使用系统代理设置”,或在switchSharp中新配置一个代理项(比如名为fiddler,用于指向代理127.0.0.1,端口8888,如下图),即可实现监听。
(2)无法代理本地web服务器的访问请求
使用fiddler的时候,我们更多的是基于本地程序的调试,可惜fiddler捕捉不了本地(localhost或127.0.0.1)的http请求。难道fiddler就束手无策了吗?当然不是。
一般我们访问安装在本地的服务器程序时,使用的localhost或127.0.0.1,默认会绕过代理,直接访问目标服务器,通过fiddler特有的请求方式,可以使本地请求及响应都被fiddler拦截。
方法一:在localhost后增加.fiddler
比如请求http://localhost:8080改为http://localhost.fiddler:8080即可
方法二:更简单,在localhost或127.0.0.1后增加一个点即可
比如http://localhost.:8080
具体请参考:
(3)Fiddler不能监听Java HttpURLConnection请求,请看:
(4)Fiddler 不能监听、捕获 python&urllib2 proxy、ProxyHandler 的问题:
In Fiddler2, go to the page Tools-&Fiddler Options ...-&Connections, remove the trailing semicolon from the value in the "IE should bypass Fiddler for ..." field and restart Fiddler2.
也就是说,去掉 &-loopback& 后面的那个分号,保存然后重启你的 fiddler 即可。
为什么想来总结一下呢,是因为最近有个测试需求,需要检测某个网页指定的 url 请求个数,Fiddler 虽然可以,但是需要人工进行,想了想准备用 JPCAP 然后封装个浏览器内核试试,做成一个自动化的工具。
&JPCAP 简介:
& & & &众所周知,JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。   JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,而给JAVA语言提供一个公共的接口,从而实现了平台无关性。在官方网站上声明,JPCAP支持FreeBSD 3.x, Linux RedHat 6.1, Fedora Core 4, Solaris, and Microsoft Windows 2000/XP等系统。JPCAP的整个结构大体上跟wincap/libpcap是很相像的,例如NetworkInterface类对应wincap的typedef struct _ADAPTERADAPTER,getDeviceList()对应pcap_findalldevs()等等。&使用 JPCAP 实现监听利用的是所谓的“ARP欺骗”技术。具体请参考:
最后谈谈Java里面连接操作系统网络协议栈的API。
下表显示了网络层标准的。
Java SDK的核心APIs
HTTP、FTP、SSL等
java.net.HttpURLConnection、javax.servlet.HttpServlet
# 在Java里,OSI应用层和表示层没有真正区别
NetBios、RCP
# Java SDK核心对OSI会话层没有支持
java.net.Socket、java.net.ServerSocket、java.net.Datagram
Java.net.InetAddress
数据链路层
# Java SDK核心对OSI数据链路层没有支持
以太网、InfiniBand
# Java SDK核心对OSI物理层没有支持不过……现在有了Java 7 SDP(VM连接InfiniBand和java.net.*、java.io.*核心APIs的桥梁)
Java 7 SDP:Java套接字直接协议——直接访问OSI第一层物理层,请参考:
5、推荐阅读:
(1)基于fiddler来模拟限速
(2)Fiddler (二) Script 用法
(3)Fiddler的高级用法-Fiddler Script
(4)Fiddler ScriptSamples
(5)fiddlerscript&addcolumns
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读

我要回帖

更多关于 fiddler 自动替换 的文章

 

随机推荐