Fiddler抓包原理,第1张

1,Fiddler抓包原理

    Fiddler为什么可以抓包,Fiddler本质上是一个web代理服务器,默认的工作端口是8888

    查看端口方式TOOLS->options->connections 如图所示

2,什么是代理服务器

    Web 代理(Proxy Server)服务器是网络的中间实体。代理位于 Web 客户端和 Web 服务器之间,扮演“中间人”的角色。HTTP的代理服务器既是Web服务器又是Web客户端

3,代理服务器是网络信息的中转站,它具有以下功能

(1)共享网络。能解决仅仅有一条线路、一个公有 IP的问题。在公有 IP资源严重不

足的情况下,可以满足局域网大量用户同时共享上网的需求。

(2)提高了访问速度。因为大部分的代理服务器都有缓冲功能,可以直接读取,无须再连接到远程 Web 服务器。这样可以达到加快访问网站的速度、节约通信带宽的目的。

(3)突破了访问限制。当访问权限受到限制时,可以使用有权限的代理服务器。

(4)隐藏身份。内部网的用户要对外发布信息,就需要使用代理服务器的反向代理功

能。这样就不会影响内部网络的安全性能,起到隐藏身份的目的。

4,Fiddler工作原理

    Fiddler 是以代理 Web 服务器的形式工作的,它使用代理地址: 127001,端口:8888

    Fiddler启动的时候,会偷偷地把 Intemet选项中的代理修改为127001,端口:8888

    当Fiddler 退出的时候,它会自动在 Intemet选项中取消代理,这样就不会影响别的程序。

    如果Fiddler 非正常退出,这时候因为 Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动 Fiddler。

5,查看Internet 选项代理设置

    1,先启动 Fiddler,打开控制面板,找到Internet属性,然后选择连接->局域网设置高级,可以看到代理服务器地址已经被Fiddler 设置为127001:8888 了。

    2,关闭Fiddler,可以看到代理服务器地址已经取消了。

6,Fiddler可以捕获那些设备的HTTP数据包

    任何支持代理的HTTP 请求都能被 Fiddler 捕获到,首先 Fiddler 能捕获各种浏览器,比如IE、Firefox、Chrome 发出来的数据包。

    Fiddler 还能捕获各种移动设备,比如 Android 手机、苹果手机、iPad 等发出的数据包。

    Fiddler能捕获任何程序发出来的HTTP/HTTPS请求,只要这个程序支持Web代理服务器即可。

    比如Fiddler能抓到QQ发出的包,当然QQ中发的聊天消息是抓不到的,因为QQ中的聊天信息使用的是OICQ协议,不是HTTP协议。

fiddler实际上是通过代理的方式来工作的。默认端口是8888,所以用来请求http的客户端,需要设定代理,就能被截获并记录。这种方式必须依赖fiddler进程正常工作。

以下是java设置代理的一种方式。具体要看使用什么客户端程序了。不同的客户端程序设置代理的方式肯定不一样。

Proxy proxy = new Proxy(javanetProxyTypeHTTP,new InetSocketAddress("127001", 8888));  

URL serverUrl = new URL(url);  

HttpURLConnection conn = (HttpURLConnection) serverUrlopenConnection(proxy);

样例:

package comhttp;  

  

import javaioBufferedReader;  

import javaioInputStreamReader;  

import javanetHttpURLConnection;  

import javanetInetSocketAddress;  

import javanetProxy;  

import javanetURL;  

  

public class Http302Redirect {  

  

    public static void main(String[] args) {  

        try {  

            String url = "http://weibocom/1253711052";  

            Systemoutprintln("访问地址:" + url);  

  

            Proxy proxy = new Proxy(javanetProxyTypeHTTP,  

                    new InetSocketAddress("127001", 8888));  

            URL serverUrl = new URL(url);  

            HttpURLConnection conn = (HttpURLConnection) serverUrl  

                    openConnection(proxy);  

            connsetRequestMethod("GET");  

  

            connaddRequestProperty("Accept-Charset", "UTF-8;");  

            connaddRequestProperty("User-Agent",  

                    "Mozilla/50 (Windows; U; Windows NT 51; zh-CN; rv:1928) Firefox/368");  

            connaddRequestProperty("Referer", "http://weibocom");  

            connconnect();  

            BufferedReader reader = new BufferedReader(new InputStreamReader(  

                    conngetInputStream()));  

            StringBuffer buffer = new StringBuffer();  

            String line = readerreadLine();  

            while (line != null) {  

                bufferappend(line)append("\r\n");  

                line = readerreadLine();  

            }  

            readerclose();  

            conndisconnect();  

            Systemoutprintln(buffer);  

        } catch (Exception e) {  

            eprintStackTrace();  

        }  

    }  

  

}

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Fiddler抓包原理

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情