接口测试之wireshark和fiddler的应用

抓包工具wireshark和fiddler

1.wireshark说明

过滤规则说明

过滤地址
ip.addr==192.168.10.10  或  ip.addr eq 192.168.10.10  #过滤地址
ip.src==192.168.10.10     #过滤源地址
ip.dst==192.168.10.10     #过滤目的地址
 
过滤协议,直接输入协议名
icmp 
http
 
过滤协议和端口
tcp.port==80
tcp.srcport==80
tcp.dstport==80
 
过滤http协议的请求方式
http.request.method=="GET"
http.request.method=="POST"
http.request.uri contains admin   #url中包含admin的
http.request.code==404    #http请求状态码的
 
连接符
&&  
||
and
or
 
通过连接符可以把上面的命令连接在一起,比如:
ip.src==192.168.10.10 and http.request.method=="POST"
封包详细信息 (Packet Details Pane)

这个面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为:

Frame: 物理层的数据帧概况

Ethernet II: 数据链路层以太网帧头部信息

Internet Protocol Version 4: 互联网层IP包头部信息

Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP

Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

fiddler抓取包

1.设置过滤

勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host

Host 指定显示某个域名下的会话

如果框框为黄色(如图),表示修改未生效,点击红圈里的change not文字即可

2.抓取https

依次点击Tools –> Options –> HTTPS 勾选Decrypt HTTPS Traffic 会提示你安装证书,安装即可

常见的请求

分为请求和响应的两部分,请求是指发送给服务器的内容,响应指服务器返回的内容

请求 包含: 请求的方法(例如:get post)+ url + host+ 协议版本+ 请求头 (例如:User-Agent Accept 等等) + 消息体(get请求是没有消息体的,消息体只有post请求有)

响应包含:协议版本+状态码+响应头+响应内容

get请求如果需要传递参数,它是以url参数的形式传递

例如https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=马保国

url参数是wd=“马保国” 这样的形式传递的。

注意:如果url参数有多个,中间使用&隔开 ,url参数跟在?后面

post 请求一般用于新增内容或者登陆,post请求传递数据是放在消息体中

  • GET 查,一般情况用于打开一个网页,查询使用

  • *注意 get 请求需要参数,需要写在url ?后面,?后面的称之为url参数

    GET http://192.168.23.148:8080/WoniuBoss4.0/employee HTTP/1.1
    Host: 192.168.23.148:8080
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36 Edg/86.0.622.51
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Referer: http://192.168.23.148:8080/WoniuBoss4.0/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
    Cookie: rememberMe=oufHy8MNGYGyz9yCIVit6WXFg2T8MbA2oT6c/dnsNSNFnP1dnxrRsoXqUkjLJm5q/HA6neSc2LHC2njglLQcPJ/myQn2fOS5xoGhIhb/uWKMOHIaK+mnHmxKh3U3VpzlxXpGkkuZKksns20DmtZsJed4YmuSVpAksH5TqR07HDv7ruW1fBgd3BGaw3wrXcozG9aOEv8SMr97ybF8OyfwCvKF3Jw/ySZT8w9fBMNkOP4yhGbfwnm6D/YPcxdZeazzZQMPC9zwlaE+BbJr8d1OqzC+DngxU8XZDKzOfa8gZpTOz8CYRN1m75OrvGrGyeVww0JiSj964Iwx2y5Ef0FBlYE9B2Sbu1CcZANUmFZjiQT0ifnF/iavj9VNTU6dZgrtmwl9tpyjnp646tsGrDqH3LCJEgj4KcZ6K4ROQgS0Pu5bWCjABhxeYf3DNkiftEill2O+VSo7m2XjW0PdLuYLv1en6jKZ/M7fFckifzFGcdQ3ZE6JDnCpI+PABg2ajH4Z; JSESSIONID=b619a47f-bc1f-4f48-b366-52274fcb5b9c
    
    

    请求的方式:get

    请求的URL:WoniuBoss4.0/employee

    HOST:请求的服务器ip 192.168.23.148:8080

    User-Agent:发送请求的设备

    Accept:指明了 响应 的消息体的内容格式 text/htm

  • POST 增,我要增加点东西,如向数据库增加记录

POST http://192.168.23.148:8080/WoniuBoss4.0/login/userLogin HTTP/1.1
Host: 192.168.23.148:8080
Connection: keep-alive
Content-Length: 60
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36 Edg/86.0.622.51
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: http://192.168.23.148:8080
Referer: http://192.168.23.148:8080/WoniuBoss4.0/login/logout
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: _jfinal_captcha=250d8e3081f248c49aedacc7003d6c13

userName=WNCD000&userPass=woniu123&checkcode=0000&remember=Y

post请求的数据都是在消息体中进行传输的Content-Type规定了消息体数据的格式

post 请求的消息体格式常见的有一下几种:

​ 1.application/x-www-form-urlencoded ***

​ 例如:userName=WNCD000&userPass=woniu123&checkcode=0000&remember=Y

​ 2.multipart/form-data

BASHPOST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA

------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="text"

title
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png

PNG ... content of chrome.png ...
------WebKitFormBoundaryrGKCBY7qhFd3TrwA--

​ 3.application/json

这是最常见的json格式如下
Content-Type:application/json 
{“input1”:“xxx”,“input2”:“ooo”,“remember”:false}

​ 4.text/xml

POST http://www.example.com HTTP/1.1 
Content-Type: text/xml

<?xml version="1.0"?>
<methodCall>
    <methodName>examples.getStateName</methodName>
    <params>
        <param>
            <value><i4>41</i4></value>
        </param>
    </params>
</methodCall>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

patmos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值