51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 709|回复: 0
打印 上一主题 下一主题

大神教你HTTP协议和Fiddler抓包工具使用(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-11-21 16:32:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 草帽路飞UU 于 2022-11-21 16:33 编辑

HTTP协议

  我们网络编程已经了解了很多协议类型了!

  有传输层中的TCP/UDP,网络层中的IP协议.我们知道身为程序员的我们重点是反正应用层协议的设计上,其他网络层中的协议属于操作系统内核!


  我们知道我们程序员主要在应用层设计应用层协议!


  应用层协议由包括两部分,确定传输的数据和协议模板(xml/json/Protobuff)的选择!


  我们知道,不同水平的程序员设计的应用层协议各有参差!


  有大佬就设计出了业界比较好的协议,供大家使用!


  HTTP协议是目前业界使用最多的协议!所以我们重点来学习HTTP协议,通过对HTTP协议的学习,从而自己可以借助HTTP协议在项目中设计应用层协议!


  我们知道应用层协议在网络传输的关键作用就是,让通信双方可以理解双方的信息,就好比你买一个电子产品,卖家会提供一个使用说明书,这里的应用层协议也就相当于使用说明书!


  HTTP协议报格式


  我们通过之前网络协议的学习知道,学习一个协议就是学习这个协议的报头格式!


看到这个协议格式发现和我们之前学习的协议报头格式大为不同!


  主要是因为之前学习的TCP/IP协议都是面向二进制设计的协议类型!


  而HTTP协议主要是由文本格式的协议,比之前的协议格式利于我们学习和理解!


  Fiddler抓包


  我们HTTP协议格式的学习先通过引入一个app来学习!

  Fiddler抓包工具


  什么是抓包工具呢?


  我们知道数据在网络传输中,会经过很多设备,我们的信息虽然通过这些协议进行了分装!当时这些设备还是有这些信息的记录!


  这里的抓包工具就相当于一个代理,就好比一个传话的,虽然Fiddler并不需要这个信息,当时信息经过了这个抓包工具,就可以将传输中的应用层协议报拿到,也就是拿到了HTTP协议包,这就是抓包!其实其他协


议也能通过其他的的抓包工具,进行抓包!

  我们先通过这个抓包工具的使用,获取几个HTTP数据协议,然后对HTTP协议有所了解,然后再进行协议格式的学习!


  Fiddler安装


  我们通过官网下载安装这个Fiddler Classic经典版本!




然后安装后就可以使用了!




打开界面后就是这个样子!然后我们要先进行设置!




我们将这里的HTTPS中的所有选项勾选上,然后就可以进行使用了!啥是HTTPS呢?

  我们暂且理解为HTTP的升级版,在HTTP的基础上进行了加密,保证了数据传输的安全!详细内容后面我们还会介绍到!




这个界面有两栏,左边这栏就是我们抓包抓取的数据!

  当我们浏览器访问一个页面或者程序中,进行跳转都可能会有HTTP协议数据请求,然后Fiddler抓包工具就可以抓取到数据报!


  还有就是浏览器中的一次网页请求可能,传输了多个HTTP协议数据包,所以这里的抓取的报一直在增加!





我们双击抓取到的一个HTTP协议数据报后,右边栏就会出现这个协议报的详细内容!





这里上方就是这个HTTPS协议数据报的请求信息,下方就是HTTPS的响应信息!

  我们通过对这里的请求和响应的学习就可以大致了解到HTTPS协议格式!


  请求:





我们选中Raw这一选项就可以查看最原始的HTTP协议请求!

  然后我们发现这么小的字体咋看啊这是,我们可以通过下方的VIew in Notepad通过记事本查看这里的请求数据!





GET https://www.csdn.net/ HTTP/1.1

  Host: www.csdn.net


  User-Agent: Mozilla/5.0 (WindowsNT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0


  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8


  Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2


  Accept-Encoding: gzip, deflate, br


  Connection: keep-alive


  Cookie: uuid_tt_dd=10_30601611580-1653459529558-297725; log_Id_pv=602;


  Upgrade-Insecure-Requests: 1


  Sec-Fetch-Dest: document


  Sec-Fetch-Mode: navigate


  Sec-Fetch-Site: none


  Sec-Fetch-User: ?1



  这就是我们抓取的这个报的数据请求!


  响应:


  而下方就是对于这个请求,服务器所给出的响应信息!




我们响应也是通过Raw选项查看原始的HTTP响应!然后通过记事本打开!














本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 15:52 , Processed in 0.069049 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表