Fiddler抓包工具手机添加代理后连不上无线网的解决办法、Fidder添加显示serverIP项,以及关于跨域策略文件crossdomain.xml
一、Fiddler抓包工具手机添加代理后连不上无线网的解决办法
注: Fiddler抓包工具已上传到我的资源里面哈,可以去搜索一下。发文的时候还在审核。
电脑上一直存着一个绿色版的Fiddler抓包软件,在各电脑上使用也屡试不爽,但今天因工作需要在电脑上使用了一下,发现手机添加代理后连不上无线网。过程如下:
首先fiddler给手机添加代理,要完成以下步骤:打开fiddler.工具.选项,在连接connection的TAB中注意监听端口是不是8888(和手机配置的一致);另外有没有钩选允许远程计算机连接;然后去查看电脑上的ipv4地址,之前正常走完这些步骤手机也就能让PC代理抓包了,如果此时手机不能连接无线网线,再试试以下几个方法:
1:关闭PC上的防火墙,这类坑太多啊。
2:两步先修改注册表再修改fiddler中的配置代码。
步骤a.打开注册表(cmd命令regedit),在计算机中打到注册项
\HKEY_CURRENT_USER\Software\Microsoft\Fiddler2
在其下面创建一个QWORD(我这里是64位的QWORD),值置为80(十进制)如下图所示:
步骤b. 点击Rules->Customize Rules,即规则->自定义规则,编写fiddlerScript rule,用Ctrl+F查找OnBeforeRequest方法的位置,在方法中添加一行代码
if (oSession.host.toLowerCase() == "webserver:8888")
{
oSession.host = "webserver:80";
}
位置如下图所示:
我在使用上述方法时,关闭防火墙仍然不能连网,最后进行了b步骤进行修改设置重启Fiddler,一切OK,留个记录。
二、Fidder如何添加显示serverIP项的操作处理
在使用Fiddler的时候,因为经常要修改host,有时不知道使用的fiddler抓的包实际是访问了哪台服务器,可以在Fiddler上加上显示ServerIP项,从而可以非常方便的看到访问的具体服务器的IP地址,在Fiddler上选择规则->自定义规则,然后会进入到fiddler script编辑界面,添加下面这行代码到图示处重启fiddler即可。
FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP",120,"X-HostIP");
三、关于跨域策略文件crossdomain.xml
今天在公司服务器进行配置的时候发现有个crossdomain.xml请求,但是看了看代码啥也没干,直接返回了一个xml文件,而在客户端上发现又依赖这个文件,那这是个什么东西呢?了解了一下,crossdomain.xml是adobe公司搞的,为了让flash跨域访问文件。
怪不得,因为我们的客户端是需要flash支持播放的。
1、关于crossdomain.xml
crossdomain跨域,就是需要的资源不在自己的域服务器上,需要访问其他域服务器。跨域策略文件是一个xml文档文件,主要是为web客户端(如Adobe Flash Player等)设置跨域处理数据的权限。crossdomain.xml配置文件放于服务器端的根目录下面。用来设置让哪些域名下面的swf文件能够访问服务器上的内容。
配置示例:
[onlin840 cdir]$ cat crossdomain.xml
2、crossdomain.xml 配置规则
crossdomain.xml的配置主要有以下几个选项和属性:
cross-domain-policy :cross-domain-policy元素是跨域策略文件crossdomain.xml的根元素。它只是一个策略定义的容器,没有自己的属性。子元素有: site-control,allow-access-from,allow-access-from-identity,allow-http-request-headers-from
site-control: site-control元素用于定义当前域的元策略。元策略则是用于指定可接受的域策略文件,且该文件不同于目标域根元素(名为crossdomain.xml)中的主策略文件。 如果客户端收到指示使用主策略文件以外的策略文件,则该客户端必须首先检查主策略的元策略,以确定请求的策略文件是否获得许可。
permitted-cross-domain-policies :指定元策略属性。除套接字策略文件外,所有策略文件的默认值均为master-only,套接字策略文件的默认值为all。该属性允许的值有:
none:目标服务器上的任何位置(包括该主策略文件)均不允许使用策略文件。
master-only:仅允许这个主策略文件。
by-content-type:仅允许Content-Type:text/x-cross-domain-policy提供的策略文件(只适用于HTTP/HTTPS)。
by-ftp-filename:仅允许文件名为crossdomain.xml的策略文件。(只适用于FTP)
all:允许此目标域中所有的策略文件。
allow-access-from :allow-access-from元素用于授权发出请求的域从目标域中读取数据。可以通过使用通配符(*),为多个域设置访问权限。 属性:
- domain:指定要授予访问权限的发出请求的域。可以是域名或IP地址。子域将被视为不同的域。指定域时可以使用通配符星号( * )表示多个域。单独使用星号( * )表示所有域。一般不建议设置为星号允许所有域访问。
- to-ports:只适用于Sockets,以逗号分隔的端口列表,或者允许连接到套接字连接的一系列端口。端口范围通过在两个端口号之间插入短划线 (-) 指定。端口范围在用逗号隔开时则可以用于指代单个端口。一个通配符 (*) 可用于表示允许所有端口。
- secure:只适用于HTTPS和Sockets,指定仅授予指定来源的 HTTPS 文档的访问权限 (true),还是授予指定来源的所有文档的访问权限 (false)。如果 HTTPS 策略文件中未指定 secure,则默认为 true。不建议在 HTTPS 策略文件中使用 false,因为这会影响 HTTPS 的安全性。在套接字策略文件中,默认值为 false。只有当套接字服务器接受本地主机连接时,指定 secure=”true” 才有意义,因为本地套接字连接通常不会面临中间人攻击的风险,因此无法更改 secure=”true” 声明。
allow-access-from-identity :allow-access-from-identity元素根据加密凭据授予权限,而 allow-access-from 则截然不同,它根据来源授予权限。
allow-http-request-headers-from :allow-http-request-headers-from元素用于授权发出请求的域中的请求文档将用户定义的标头发送到目标域。而 allow-access-from 元素旨在授权从目标域提取数据。这个标签授权以标头的形式推送数据。 属性:
- domain:指定要授予访问权限的的域。可以是域名,也可以是IP地址,子域将被视为不同的域。通配符 (*) 单独使用时可用于表示所有域,在用作以句点 (.) 分隔的明确二级域名前缀时表示多个域。表示单个域时需要使用单独的 allow-access-from 元素。
- headers:以逗号分隔的标头列表,表示允许发送的请求域。通配符 (*) 可用于准许所有标头或头后缀,从而支持以相同字符开头但以不同字符结尾的标头。
- secure:只适用于HTTPS,如果设置为 false,则表示允许 HTTPS 策略文件授权访问 HTTP 源发出的请求。默认值为 true,表示仅提供 HTTPS 源权限。我们不推荐使用 false。
3、crossdomain.xml 中的匹配规则
各个域或子域必须完全匹配。如www.example.com匹配http://www.example.com。 IP地址和域名不匹配,即使IP地址就是域名指代的IP也不行。 域通配符与该域本身及所有子域匹配。
单独使用通配符 (*) 允许所有请求者进行访问,但不推荐使用。只有在策略文件范围内的所有内容完全公开的情况下才应当使用允许所有权限。