⑴ Fiddle抓包进阶
fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。
一、网页不安全
1.用fiddler抓包时候,打开网络网页: https://www..com
2.提示:网页不安全
二、fiddler设置(抓取所有https请求)
1.打开菜单栏:Tools>Fiddler Options>HTTPS
2.勾选Decrypt HTTPS traffic,里面的两个子菜单也一起勾选了
Fiddler抓包2-只抓APP的请求
fiddler抓手机app的请求,估计大部分都会,但是如何只抓来自app的请求呢?
把来自pc的请求过滤掉,因为请求太多,这样会找不到重要的信息了。
1.电脑上已装fiddler
2.手机和电脑在同一局域网
一、设置
1.fiddler>Tools>Fiddler Options>Connections 勾选Allow remote computers to connect。
2.记住这里的端口号:8888,后面会用到。
一、get请求 [图片上传中...(get请求.png-2ac7c-1529389857624-0)]
1.打开fiddler工具,然后浏览器输入博客首页地址: http://www.cnblogs.com/yoyoketang/
2.点开右侧Inspectors下的Headers区域,查看Request Headers
3.Request Headers区域里面的就是请求头信息,可以看到打开博客园首页的是get请求
四、get和post请求参数区别
1.关于get和post的功能上区别就不说了,大家自己查资料,这里主要从fiddler抓包的层面查看请求参数上的区别
2.get请求的Raw参数查看,主要分三部分:
--第1部分是请求url地址
--第2部分是host地址
--第3部分是请求头部信息header
Fiddler抓包4-工具介绍(request和response)
本篇简单的介绍下fiddler界面的几块区域,以及各自区域到底是干什么用的,以便于更好的掌握这个工具
一、工具简介
1.第一块区域是设置菜单,这个前面2篇都有介绍
2.第二块区域是一些快捷菜单,可以点下快捷功能键
3.第三块左边是抓捕的请求会话列表,每一个请求就是一个会话
4.第四块右边上方区域是request请求的详细信息,可以查看headerd、cookies、raw、json等
5.第五块右边下方区域就是response信息,可以查看服务端返回的json数据或其它信息
6.第六块区域左下角黑色的那块小地方,虽然很不起眼,容易被忽略掉,这地方是命令行模式,可以输入简单的指令如:cls,执行清屏的作用等
三、Request 和Response
1.Request是客户端发出去的数据,Response是服务端返回过来的数据,这两块区域功能差不多
No Authorization Header is present.
5.cookies:查看cookie详情
6.raw:查看一个完整请求的内容,可以直接复制
7.json:查看json数据
8.xml:查看xml文件的信息
四、decode解码
1.如果response的TextView区域出现乱码情况,可以直接点下方黄色区域解码
一、Composer简介
点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了
二、模拟get请求
1.在Composer区域地址栏输入博客首页: http://www.cnblogs.com/yoyoketang/
2.选择get请求,点Execute执行,请求就可以发送成功啦
3.请求发送成功后,左边会话框会生成一个会话记录,可以查看抓包详情
4.右侧history区域会多一个历史请求记录
一、url详解
1.url就是我们平常打开网络在地址栏输入的: https:www..com ,如下图,这个是最简单的url地址,打开的是网络的主页
二、url解析
1.以" https://www..com/s?wd= 上海悠悠博客园"这个url请求的抓包为例
三、请求参数(params)
1.在url里面请求参数一般叫params,但是我们在fiddler抓包工具看到的参数是:QueryString
2.QueryString是像服务端提交的参数,其实跟params是一个意思,每个参数对应的都有name和value值
3.多个参数情况如下
一、body数据类型
常见的post提交数据类型有四种:
1.第一种:application/json:这是最常见的json格式,也是非常友好的深受小伙伴喜欢的一种,如下
{"input1":"xxx","input2":"ooo","remember":false}
2.第二种:application/x-www-form-urlencoded:浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数
input1=xxx&input2=ooo&remember=false
3.第三种:multipart/form-data:这一种是表单格式的,数据类型如下
------
Content-Disposition: form-data; name="text"
title
------
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png
PNG ... content of chrome.png ...
-------
4.第四种:text/xml:这种直接传的xml格式
<methodcall>
<methodname>examples.getStateName</methodname>
<params>
<param>
<value><i4>41</i4></value>
</params>
</methodcall>
二、json格式
1.打开博客园的登录页面,输入账号密码后抓包,查看post提交数据,点开Raw查看整个请求的原始数据
三、x-www-form-urlencoded
1.登录博客园后,打开新随笔,随便写一个标题和一个正文后保存,抓包数据如下
四、WebFrom
1.为什么登录请求的WebFrom的body部分为空呢?
五、xml
1.如果遇到text/xml这种格式的body,那就如下图这样的了
一、断点
1.为什么要打断点呢?
比如一个购买的金额输入框,输入框前端做了限制100-1000,那么我们测试的时候,需要测试小于100的情况下。很显然前端只能输入大于100的。这是我们可以先抓到接口,修改请求参数,绕过前端,传一个小于100的数,检查服务端的功能是否OK。
也就是说接口测试其实是不需要管前端的,主要测后端的功能。Fiddler作为代理服务器的作用其实就相当于上面故事里面的小王,传纸条的作用,Fiddler(小王)修改了请求参数(小纸条),是为了验证服务端功能(女神C)。
2.Fiddler可以修改以下请求
--Fiddler设置断点,可以修改HTTP请求头信息,如修改Cookie,User-Agent等
--可以修改请求数据,突破表单限制,提交任意数字,如充值最大100,可以修改成10000
--拦截响应数据,修改响应体,如修改服务端返回的页面数据
二、断点的两种方式
1.before response:这个是打在request请求的时候,未到达服务器之前
--屌丝A传给小王的时候,小王在这个时候拦截了小纸条,未传给女神C
3.打完断点后,会发现所有的请求都无法发出去了,这时候,点下Go按钮,就能走下一步了
4.找到需要修改的请求后,选中该条会话,右侧打开WebFroms,这时候里面的参数都是可以修改的了
四、单个断点
已经知道了某个接口的请求地址,这时候只需要针对这一条请求打断点调试,在命令行中输入指令就可以了
请求前断点(before response): bpu
4.取消断点,在命令行输入: bpu 回车就可以了
响应后断点(after requests): bpafter
3.登录博客园,会发现已经拦截到登录后服务器返回的数据了,此时可以修改任意返回数据
4.取消断点,在命令行输入: bpafter 回车就可以了
五、拦截来自某个网站所有请求
1.在命令行输入:bpu www.cnblogs.com
2.打开博客园任意网页,发现都被拦截到了
3.打开博客园其他网站,其它网站可以正常请求
4.说明只拦截了来自部落论坛( www.cnblogs.com )的请求
5.清除输入bpu回车即可
六、命令行其它相关指令
Bpafter, Bps, bpv, bpm, bpu
这几个命令主要用于批量设置断点
Bpafter xxx: 中断 URL 包含指定字符的全部 session 响应
Bps xxx: 中断 HTTP 响应状态为指定字符的全部 session 响应
Bpv xxx: 中断指定请求方式的全部 session 响应
Bpm xxx: 中断指定请求方式的全部 session 响应 、、同于 bpv xxx
Bpu xxx:与bpafter类似
当这些命令没有加参数时,会清空所有设置了断点的HTTP请求。
更多的其他命令可以参考Fiddler官网手册
一、保存为文本
1.以博客园登录为例,抓到登录的请求会话
2.点左上角File>Save>Selected Sessions>as Text,保存到电脑上就是文本格式的
三、乱码问题(decode)
1.打开博客园首页: http://www.cnblogs.com/yoyoketang/ ,保存之后查看,会发现返回的是乱码
⑵ 抓包怎么抓
抓包工具:Charles/Flidder
我只说大致的步骤思路,网络肯定有具体详解;
大致步骤:
1、安装工具,进行配置,配置端口号,安装证书(设置证书允许)
2、手机下载证书,安装;
3、手机网路设置代理;
4、电脑抓包工具中允许访问;
5、ok
⑶ wireshark中文版怎么抓包
你好,方法如下:
首先下载并安装Wireshark软件,最好选择中文版,因为会使你用的更顺手。
安装完毕之后,双击打开Wireshark软件,主界面还是比较清晰明了的,可是怎么用还是稀里糊涂的吧。
点击菜单栏红圈中的选项——列出可抓包的接口,其实也就是网卡咯,然后会弹出抓包接口对话框。
这里列出了可抓包的接口,一般而言,你有几块网卡,就会列出几个。
而红圈中,数据包数量不为零的,就是你正在使用的网卡,就用它来抓包了。点击该网卡后面的选项进行设置。
链路层头类型选择Ethernet,并勾选在混乱模式下抓包,其他保持默认即可。
然后点击开始抓包。
这样抓包工具就开始运行了,局域网中的网络活动会被抓下来。下图中标出了抓到的数据包的基本信息结构。
一般来所,抓包是有针对性的,因此要用到过滤功能,滤掉无用的数据包,以便凸显目标IP的数据包。下图中给出了基本的IP过滤语言,由于语言很多,这里不做详细分析。
抓到了有用的数据包之后,就可以选择停止抓包,对已有的数据包进行分析,也可以重新进行抓包。
⑷ fiddler,他和其他抓包软件有什么区别,如何
Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。他的protocol 就能让他搞http协议 当然包含https什么的。
比如Wireshark比较强大,按照网络七层协议这个抓包能抓到数据链路层、网络层(network layer)、传输层或应用层(application layer),但是 就是因为太强大,非常复杂。会让我们看到一些很杂乱的东西 比如SYN三次握手什么的,UDP流量啊 QQ消息啊。
⑸ 抓包工具都有哪些
抓包工具有:fiddler抓包工具、Charles抓包工具、Firebug抓包工具、httpwatch抓包工具、Wireshark抓包工具、SmartSniff 抓包工具。
1、fiddler抓包工具,是客户端和服务端的http代理,客户端所有的请求都要先经过fiddler,到响应的服务端,然后端返回的所有数据也都要经过fiddler,fiddler也是最常用的抓包工具之一。
2、Charles抓包工具也是比较常用的,和fiddler差不多,请求接口和返回数据的显示方式不一样,Charles是树状结构比较清晰,fiddler是按照时间倒叙排的。
3、Firebug抓包工具是浏览器firefox浏览器自带插件,支持很多种浏览器,直接按f12,就可以打开,用起来比较方便。
4、httpwatch抓包工具是强大的网页数据分析工具,安装简单,不需要设置代理和证书,但只能看不能修改,,集成在Internet Explorer工具栏。
5、Wireshark抓包工具很强大,可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。但是如果只是抓取http和https的话,还是用fiddler和Charles比较简洁一点。
6、SmartSniff抓包工具是一款方便小巧的 TCP/IP 数据包捕获软件,网络监视实用程序。
(5)猎豹抓包工具扩展阅读:
抓包工具在我们工作中主要用在:
A:抓取发送给服务器的请求,观察下它的请求时间还有发送内容等等;
B:去观察某个页面下载组件消耗时间太长,找出原因,要开发做性能调优;
C:或者我们去做断点或者是调试代码等等。
抓包工具所具备的几个功能:
1)它提供类似Sniffer的包分析功能,可以帮助我们详细拆分IP结构内容,带我们深入的了解TCP/IP协议;
2)它可以用来分析软件占用端口及通讯情况比重的工具;
3)它可以让我们从海量IP数据包中,找出我们需要的IP数据包,还能通过用户端的情况,帮助我们能截获各类敏感数据包。
⑹ 四大网络抓包神器,总有一款适合你~
无论是开发还是测试,在工作中经常会遇到需要抓包的时候。本篇文章 主要介绍如何在各个平台下,高效的抓包。
目前的抓包软件总体可以分为两类:
一种是设置代理抓取http包,比如Charles、mitmproxy这些软件。
另一种是直接抓取经过网卡的所有协议包,其中最出名就是大名鼎鼎的wireshark以及linux自带的抓包软件tcpmp。
下面重点介绍一下这四个抓包工具的特点以及使用。
wireshark想必大多数程序员都不会陌生。wireshark在各个平台都可以安装使用,它 可以抓取经过指定网卡的所有协议。 wireshark虽然很强大,但是对初学者其实不是很友好。
这也正是由于它太强大,它可以抓取所有包,所以初学者在使用时面对茫茫数据流不知所措。初学者需要认真的去学习怎么过滤得到自己感兴趣的包,但是如果不熟悉wireshark的过滤语法,要过滤数据包将举步维艰。
过滤语法简单介绍
wireshark的过滤语法总结起来其实也很简单,就是 以协议开头,后面可以跟着协议的属性,然后加上一些判断符号, 比如contains、==、>、<等等。比如只想展示http的协议内容,则直接在过滤器输入框中输入http即可。
如下图:
比如我 只想看http协议的请求头中uri包含’/api’的协议,就可以这么写:
如果想通过目标ip或者来源ip来过滤包,就不可以以http协议为前缀了,因为这些是ip协议的相关属性。 通过目标ip来过滤可以这么写:
上面表示目标机器的ip是61.135.217.100并且协议是http的包。
wireshark支持很多种协议,我们可以通过右上角的expression来打开搜索支持的协议,还可以找出协议支持的属性,然后填入期待的值,软件会自动为我们构建过滤语句。
优点:
功能强大,可以抓取所有协议的包
抓到的包容易分析
缺点:
由于线上服务器没有GUI,只有命令行,因此无法在线上服务器使用
无法分析https数据包,由于wireshark是在链路层获取的数据包信息,所以获取到的https包是加密后的数据,因此无法分析包内容。当然,我们可以对https数据包进行解密, 但是操作具有一定的复杂度,可能要消耗很多时间。
tcpmp是linux上自带的一个抓包软件(mac也有),功能强大,也可以抓取经过指定网卡的所有协议包。
由于是命令行工具,tcpmp抓取到的包不易于分析,一个常见的做法是将tcpmp抓到的包输出到某个文件,然后将文件拷贝下来用wireshark分析。
一些简单的过滤参数:
抓包内容输出到文件:
之后我们可以把test.cap直接用wireshark打开,就可以很直观的分析包了。
用tcpmp输出cap文件包:
tcpmp-r test.cap
Charles是一款http抓包工具,它是通过代理来实现的抓包。也就是我们在访问网页时需要配置代理,将代理指向Charles监听的端口,之后我们的http请求都会发向Charles的端口,之后Charles会帮我们转发并记录协议内容。
Charles的使用非常简单,配置好代理后,Charles就开始抓包了。
我们可以直接通过Charles的GUi查看包的内容:
上图中的unknown表示https加密后的数据,所以看到不协议的具体内容。我们可以通过安装Charles的证书,让Charles也可以查看https协议的具体内容。
优点 :
使用简单,只需配置一下代理地址就可以
要抓取https协议的配置也很简单,只要安装下charles的证书就可以了
mitmproxy是python写的一款http抓包工具,虽然只支持http抓包,但是它的特性非常强大,它不仅可以抓包,还可以对请求进行拦截、重现等操作。和Charles一样,它的原理也是基于代理,使用的时候需要设置代理指向它。
mitmproxy是命令行工具,但是也自带了mitmweb工具,可以让用户在网页上操作。另外,mitmproxy还支持用户自行编写插件,可以编写脚本对请求进行处理,然后把修改后的请求发出去。
1、安装
首先需要在机器安装python3以及pip3.之后通过pip3安装
pip3 install mitmproxy
如果安装mitmproxy过程中报错MoleNotFoundError: No mole named '_ssl',就需要安装一下OpenSSL,然后再重新编译安装一下python3。
安装好openSSL后再执行pip3 install mitmproxy
2、使用
安装后,直接在命令行输入mitmproxy就会进入它的交互界面:
这时候mitmproxy已经开始监听8080端口(默认),接着,我们可以去浏览器设置代理。浏览器设置代理的方式有很多,这里不多做介绍。
设置完代理后,访问浏览器的请求都会被发到mitmproxy上,mitmproxy根据规则对请求进行拦截(不配置拦截规则的话则都不拦截),所有经过的请求都会被输出:
在交互界面上可以通过快捷键操作请求。输入问号’?’,可以查看快捷键的文档。
3、下面介绍一些常用的快捷键和功能
① 请求过滤
在请求列表交互界面,按下f键后,可以输入一些过滤规则:
具体的过滤语法可以按下’?‘键后,再按下方向键右’—>’或者l键。
② 请求拦截
按下i键后,可以对指定的请求进行拦截。按mitmproxy收到指定条件的请求时,不会立马把它转发出去,而是等待我们执行resume操作后,才会把请求转发出去——在这期间我们甚至可以对请求进行手动修改。
红色字体表示该请求被拦截,之后我们可以按入a键来恢复该请求,可以输入A键恢复所有被拦截的请求。
③ 查看/编辑请求
把指示光标移动到某个请求上,按回车可以查看请求的内容。或者鼠标直接点击请求也可以。
之后通过左右方向键可以查看request、response、detail等信息。
如果要编辑请求,可以在这个界面输入e,然后会让我们选择编辑哪块内容:
之后就会进入vim编辑界面编辑相应的内容了(保存后会生效)。
④ 重发请求
mitmproxy的光标指向某个请求时,按下r键可以重发这个请求(重发前可以对该请求进行编辑)。
按下’:’键后,可以输入命令,这样我们就可以通过过滤规则批量的重发请求
replay.client是mitmproxy内置的一个命令,我们也可以自行编写命令。命令的编写可以参考官网文档,这里不做介绍。
⑤ 插件开发
我们可以编写插件,然后再启动的时候指定插件,mitmproxy处理请求的时候会执行一个插件的链,这样我们就可以对请求进行编辑然后再发送出去了。
借用官网的插件demo:
这个方法对每一个请求进行处理,然后打印序号。通过mitmproxy -s test.py来让插件生效。通过插件可以绑定各种连接事件。感兴趣的朋友可以自行去mitmproxy官网看文档,这里不多做介绍。
⑥ 保存抓到的请求数据
通过w快捷键我们可以把这次抓到的请求包保存到文件上。
通过mitmproxy -r file可以读取以前抓取的请求信息进行分析。
优点:
命令行操作,可以在无GUI界面的服务器上使用
对于这几个抓包神器,我总结了下使用场景:
只抓http协议的话:
推荐使用mitmproxy。mitmproxy丰富的功能不仅可以满足我们的抓包需求,还可以提升我们的工作效率。比如测试可以抓包后一键重发请求来重现bug,开发调试的时候可以修改请求内容等等。
如果是在线上的没有GUI的服务器:
推荐使用tcpmp,虽然mitmproxy也可以支持命令行抓包,但是生产环境的服务器最好不要乱安装第三方插件。另外,大多数服务器都有装tcpmp。我们可以通过把请求的内容输出到文件,然后拷贝会自己的电脑用wireshark分析。
想要抓取http以外的协议的话:
直接上wireshark。功能强大。对于Charles,感觉用了mitmproxy之后,就基本用不上Charles了。Charles好像也可以编辑后再发送,但是感觉不是很好用,可能我用的不是很熟吧。
⑺ 软件测试工具有哪些
开源测试管理工具:Bugfree、Bugzilla、TestLink、mantis 开源功能自动化测试工具版:Watir、Selenium、MaxQ、WebInject
开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator
[TestDirector]:企业级权测试管理工具,也是业界第一个基于Web的测试管理系统。
[Quality Center]:基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。
[QuickTest Professional]:用于创建功能和回归测试。
[LoadRunner]:预测系统行为和性能的负载测试工具。
其他工具与自动化测试框架:Rational Functional Tester、Borland Silk系列工具、WinRunner、Robot等。
⑻ Wireshark抓包以后如何查看哪个里面包含了密码
随便连接热点是很不安全,这里简单地用360免费wifi创建一个wifi热点,通过手机(客户端)连接,并用本机进行wireshark抓包分析客户端请求的http协议。
http协议是明文传输的,但目前大部分的网站对于用户的帐号密码也还是未经加密传输的。这里我拿学校的实验预约系统进行测试。
1.在电脑上开启360免费wifi(360安全卫士里面带着的,猎豹免费wifi都可以),没有无线网卡的就别试了,:-(
2.开启无线热点:
3.在本机上安装wireshark,并打开:
4.点击工具栏第一个图标,
列出可以抓包的设备:
5.这个版本用ipv6显示的,我们需要确定是哪个网卡接口。
可以在网络连接里面的详情查看360wifi虚拟网卡的ipv6地址,也可以通过ipconfig命令来查看:
6.确定网络接口之后,点击开始:
7.在过滤后的文本输入控件中,输入http并点击应用按钮,过滤http协议的数据包:
8.打开手机连接上这个热点,并通过浏览器访问学校网站,然后用自己的帐号和密码登录:
不上图了。。。。
9.在wireshark中,找到登录时向服务器发送帐号密码的请求(一般是一个post请求):
从图中我们可以看到帐号密码都是未经过加密明文传输的,连接别人的无线热点,上网还是要注意安全。
当然,即便是无线路由器的无线热点,也是可以进行抓包分析的。
⑼ 怎样用burpsuite抓包
工具/原料
电脑
Burpsuite软件、IE浏览器
方法/步骤
1、打开IE浏览器,点击浏览器菜单栏,找到“工具”点击 Internet选项,设置浏览器代理地址为127.0.0.1,端口8080
2、打开burpsuite确定设置的代理地址与浏览器一致。
3、打开浏览器,打开一个网页,会看到打开的网页浏览记录都经过了burpsuite。
4、当Intercept is on时,表示已经开启拦截功能。
5、在网站可输入的地方,例如搜索,输入“2015”,开启burpsuite拦截功能,可看到为post请求,最后面的就是提交的数据。
6、右键选择send to repeater或者快捷键ctrl+r 把拦截的数据包到repeater项中,直接修改数据,如把原本要搜索的项“2015”改为“2016”,点击go来提交,那么响应回来的数据就是改修后的页面和信息。(burpsuite的抓包,拦截,修改)