Linux(Ubuntu)环境下使用Fiddler
自己的开发环境是Ubuntu, 对于很多优秀的软件但是又没有Linux版本这件事,还是有点遗憾的。比如最近遇到一个问题,在分析某个网站的请求路径和cookie时就遇到了问题。本来Chome浏览器自带的开发者工具对我这种后台开发程序来说足够了,但是有个场景问题难住了:当网页有链接打开一个新的页面,而且这个新打开的页面是在另一个标签页中打开,那么原来页面的控制台不能记录这个请求数据。我在google找了半天没找到好的办法,有个不是办法的办法是在chrome地址栏里输入chrome://net-internals/#events
,但是用过就知道太不好用了。一般在这个时候才会想起Windows的好来,起码可以用Fiddler啊。哦,对,好像有个什么东西,不是可以跨平台跑.NET的程序应用吗,那个是谁,哦,是Mono。本篇文章介绍下在Linux环境下如何使用Fiddler。
首先,你要有个Mono环境,在Ubuntu环境下安装很简单,输入:
sudo apt-get install mono-complete
下载一个最新的Fiddler for Mono版本,我写这篇文章时最新版本是这个。下载完成后,解压到你的习惯放置的随便一个目录里。然后cd到目录下,运行:
tony@tony:~/devs/fiddler$ mono Fiddler.exe
然后熟悉的界面就看到了,怎么使用的你应该知道了。
Chrome浏览器不用进行任何设置,所有请求都会通过Fiddler自动代理,原理就是:当Fiddler启动时会执行如下脚本:
gsettings set org.gnome.system.proxy.https port 8888
gsettings set org.gnome.system.proxy.http port 8888
gsettings set org.gnome.system.proxy.http host '127.0.0.1'
gsettings set org.gnome.system.proxy.https host '127.0.0.1'
gsettings set org.gnome.system.proxy mode 'manual'
就是用gsettings
命令修改系统的http和https代理参数值,同时用model 'manual'
打开系统级代理开关。当关闭Fiddler程序时,会把model
参数值恢复为none
,即不开启代理(这里提示有的同学,如果你在命令行里运行mono Fiddler.exe
后,然后直接kill 9掉该进程,或者直接在窗口crtl+D结束,可能使Fiddler不能正常设置model参数,导致浏览器打开什么网页都是无法访问,遇到这个问题你知道怎么办了吧)。而Chrome浏览器默认就是使用系统代理设置,截图为证:
而Firefox浏览器没有默认使用系统代理设置,所以手动设置下就好了:
Click Edit > Preferences > Advanced > Network > Settings and choose "Manual Proxy Configuration", Proxy 127.0.0.1, Port 8888, and tick the "Use this proxy server for all protocols" box.
参考:Fiddler Mono
Linux(Ubuntu)环境下使用Fiddler的更多相关文章
- 1.MySQL的安装(linux Ubuntu环境下)
首先先检验一下系统中是否已经安装有mysql: deamon@deamon-H55M-S2:~$ sudo netstat -tap | grep mysql [sudo] password for ...
- Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题
前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置 1.Tomcat的下载 地址:https://tomcat.apach ...
- linux ubuntu系统下,adb不是内部命令 (如何才能让adb命令可以使用)
linux ubuntu系统下,adb不是内部命令 原文地址 linux ubuntu系统下,adb不是内部命令 解决方法: 1.sudo gedit ~/.bashrc 2.将下面的两句加到上面打开 ...
- Go学习笔记(一):Ubuntu 环境下Go的安装
本文是根据<Go Web 编程>,逐步学习 Ubuntu 环境下go的安装的笔记. <Go Web 编程>的URL地址如下: https://github.com/astaxi ...
- ubuntu环境下docker安装步骤
本文是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubun ...
- Ubuntu环境下配置GCC
Ubuntu网络环境下安装GCC及其头文件步骤: 1.Ubuntu环境下配置GCC 刚装好的GCC什么都不能编译,因为没有一些必须的头文件,所以要安装build-essential,安装了这个包会安装 ...
- 在Ubuntu环境下配置NIMH MEG Core Facility之CTF Tools
在Ubuntu环境下配置NIMH MEG Core Facility之CTF Tools 网站有提示: The install script won't work, but you can copy ...
- [转载]Ubuntu环境下检查CPU 的温度
原文地址:https://www.linuxprobe.com/ubuntu-cpu-temperature.html 我们将使用一个GUI工具Psensor,它允许你在Linux中监控硬件温度.用P ...
- 在 Windows 和 Linux(Gnome) 环境下 从命令界面打开网页的方式
1.在 Windows 中 通过命令 可以打开网页是很简单的: start http://www.baidu.com 或 start iexplorer http://www.baidu.com 第二 ...
随机推荐
- 使用FTP FtpWebRequest UsePassive 属性实现主动上传
类型:System::Boolean如果客户端应用程序的数据传输过程侦听数据端口上的连接,则为 false:如果客户端应在数据端口上启动连接,则为 true. 默认值为 true. UsePassiv ...
- mysql常见错误及解决方案
mysql error 2005 - Unknown MySQL server host 'localhost'(0) 此错误一般为地址信息错误,注意是否有空格. 在连接本地数据库时,最好使用127. ...
- 用C#通过正则表达式截取字符串中符合条件的子字符串
仅仅作为简单的记录,不多说直接上代码(仅测试使用): private void Test() { Regex ConnoteA = new Regex("^[a-zA-Z]\\d{8}$&q ...
- MySQL - 问题集 - "Waiting for table metadata lock"(待完善)
待完善.show processlist; 可参考1:http://blog.csdn.net/huochuangchuang/article/details/49423893 可参考2:http:/ ...
- 判断IP地址是否合法类
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace IPFl ...
- asp.net c# 网上搜集面试题目大全(附答案)
1.String str=new String("a")和String str = "a"有什么区别? String str = "a"; ...
- ArrayList数组列表
ArrayList数组列表 Collection接口和List接口的区别 List接口扩充了Collection接口,添加了索引相关的方法. code example Object get(int i ...
- IDE-Sublime【2】-代码智能提示插件SublimeCodeIntel的安装
一.打开菜单References -> Package Control 二.输入Package Control: install Package,回车 三.输入SublimeCodeIntel, ...
- ZeroMQ接口函数之 :zmq_version – 返回ZMQ链接库的版本
ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq_version zmq_version(3) ØMQ Manual - ØMQ/4.1.0 Na ...
- BOM,文档宽高及窗口事件小析
(一)BOM:Browser Object Model(浏览器对象模型)页面上所有的变量都是window的属性 一.方法:1. open(,)打开一个新窗口(页面)一参为页面地址url,二参为打开方式 ...