如何通过抓包工具fiddler获取java程序的http请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过抓包工具fiddler获取java程序的http请求相关的知识,希望对你有一定的参考价值。
firefox的fidder插件 Java程序需要设置proxy才能生效:String url="url address";
Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP,new InetSocketAddress("127.0.0.1", 8888));
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection(proxy);
以下是完整参考代码:
package com.http;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
public class Http302Redirect
public static void main(String[] args)
try
String url = "http 你的地址";
System.out.println("访问地址:" + url);
Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP,
new InetSocketAddress("127.0.0.1", 8888));
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl
.openConnection(proxy);
conn.setRequestMethod("GET");
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", "http://javaniu.com/");
conn.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuffer buffer = new StringBuffer();
String line = reader.readLine();
while (line != null)
buffer.append(line).append("\\r\\n");
line = reader.readLine();
reader.close();
conn.disconnect();
System.out.println(buffer);
catch (Exception e)
e.printStackTrace();
参考技术A 默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler Tool->Fiddler Options->HTTPS tab 选中checkbox, 弹出对话框,点击"YES"
fiddler2抓包工具使用图文教程
原文:http://blog.163.com/hlz_2599/blog/static/142378474201381102837194/
一、软件简介:
一款免费且功能强大的数据包抓取软件。它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视、设置断点、甚至修改输入输出数据等功能。fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。所以无论对开发人员或者测试人员来说,都是非常有用的工具。
二、fiddler的下载与安装:
1、下载fiddler2汉化版软件,下载地址:http://www.cr173.com/soft/42248.html
2、下载完成后,解压文件,然后点击"Fiddler.exe"文件即可启动软件。
三、fiddler实用功能使用说明:
1、fiddler捕获浏览器的会话:
能支持http代理的任意程序都能被fiddler捕获到,由于fiddler的运行机制就是监听本机上的8888端口的http代理,所以我们要将浏览器的IE代理设置为127.0.0.1:8888,我们就以360浏览器为例设置浏览器的代理:点击【工具】—【Internet选项】—【连接】—【局域网设置】,再点击代理服务器的【高级】按钮,将HTTP代理服务器地址改为127.0.0.1:8888。
图一:设置浏览器代理
2、使用fiddler捕获HTTPS会话:
默认情况下,fiddler是不会捕获https会话的,所以需要自行设置一下。启动软件,点击【工具】—【fiddler选项】,在弹出的新窗口中,点击HTTPS选项卡,将捕获HTTPS连接这一选项前面全打上勾,点击OK就操作成功了。如下图所示:
图二:设置可以捕获HTTPS会话
3、fiddler主界面介绍:
启动fiddler,我们就会看到该软件的主界面,软件窗口大体可以分为六大部分:菜单栏、工具栏、会话列表、命令行工具栏、HTTP Request显示栏、Http Response显示栏。让你在捕获数据的时候一目了然。
图三:fiddler主界面图
4、查看HTTP统计视图:
通常fiddler会话列表中会显示捕获的所有的http通信量,并以列表的形式展示出来,点击你想查看的一个或者多个会话,再点击软件右边的【统计】菜单,你就可以很轻松的查看到请求数、发送字节数等信息。如果你选择第一个请求和最后一个请求,还可以获得页面加载所消耗的总体时间,还可以从图表中分辩出那些请求耗时最多,从而可以对页面的访问速度进行优化。
图四:查看某一会话的详细信息
5、QuickExec命令行的使用:
QuickExec命令行是会话列表下边的黑色区域,你可以在里面输入命令,回车之后即可执行你的命令,非常方便,在这里为大家介绍几个常用的命令:
help 打开官方的使用页面介绍,所有的命令都会列出来
cls 清屏 (Ctrl+x 也可以清屏)
select 选择会话的命令
?.png 用来选择png后缀的图片
bpu 截获request
图五:QuickExec命令行的使用
6、如何在fiddler中设置断点修改Response:
主要有两种方法:
1、点击【设置】菜单—【自动断点】—【响应之后】,这种方法是中断所有的会话,如果你想消除断点的话,就点击【设置】—【自动断点】—【禁用】就可以了。
2、在QuickExec命令行中输入:"bpuafter 网址/会话名",这种方法是中断某一具体的会话,如果想消除命令的话,在命令行中输入"bpuafter"。
7、如何在fiddler中创建AUTOResponder规则:
设置AUTOResponder规则的好处是允许你从本地返回文件,而不用将http request发送到服务器上。我们就以访问博客园网站为例说明一下该功能的用法。
1) 打开博客园首页,把博客园的LOGO图片保存在本地,并把图片修改一下。
2) 打开fiddler找到刚才我们有该LOGO图片的会话,然后点击软件右边的自动响应选项卡,在"Enable authomatic reponses"和"permit passthrought unmatched requests"前面都打上勾,将会话拖到"自动响应"列表框中。
3) 在右下角的Rule Editor的第二个文本框选择"Find a File……",然后选择本地保存的图片,点击"SAVE"按钮保存就可以了。
图六:选择修改后的LOGO文件
4) 我们再次打开博客园首页,注意观察LOGO图片已经变成我们所修改的那张了。
图七:效果图
8、fiddler的会话比较功能的使用:
选中两个会话,右键点击"Compare",就可以利用WinDiff来比较两个会话有什么不同了。(注:使用这个功能的前提是你要安装有WinDiff)
图八:比较两个会话
9、fiddler还有编码小工具,下面我们来看一下应该怎么使用:
1)单击工具栏的"编码器"按钮
2)在弹出的新窗口中,你就可以操作了,如下图所示。
图九:编码工具的使用
10、fiddler查询会话:
1)点击【编辑】菜单—【查询会话】或者使用快捷键Ctrl+F。
2)在弹出的新窗口中输入你要查询会话,点击"find session"按钮之后,你就会发现查询到的会话会用黄色标注出来。
图十:寻找会话—填写会话关键词
图十一:被找出的会话用黄色标注出来了
11、如何在VS调试网站的时候使用Fiddler:
如果你想在用visual stuido 开发ASP.NET网站的时候也用Fiddler来分析HTTP, 但是默认的Fiddler是不能嗅探到localhost的网站。有两个方法可以供你选用:
1)你只要在localhost后面加个点号,Fiddler就能嗅探到。例如:原本ASP.NET的地址是 http://localhost:2391/Default.aspx,加个点号后,变成 http://localhost.:2391/Default.aspx 之后就可以被fiddler捕获到了。
图十二:捕获localhost的网站
2)在hosts文件中加入127.0.0.1 localsite这样也可以被捕获到。
以上是关于如何通过抓包工具fiddler获取java程序的http请求的主要内容,如果未能解决你的问题,请参考以下文章
如何通过抓包工具fiddler获取java程序的http请求
如何通过抓包工具fiddler获取java程序的http请求