网络抓包与HTTP协议

网络抓包与HTTP协议

一、HTTP协议

简介

HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。

HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,例如Cookie。

HTTP URL

格式如下:

http://host[":"port][abs_path]

HTTP请求

包括状态行,消息报头,响应正文。

二 网络抓包

抓包原理

要实现对App的网络数据抓包,需要监控App与服务器交互之间的网络节点,监控其中任意一个网络节点(网卡),获取所有经过网卡中的数据,对这些数据按照网络协议进行解析。但是中间网络节点,不受我们控制,所以基本无法实现抓包的,只能在客户端和服务端进行抓包。

抓包原因

  • 1.定位网络接口问题

  • 2.分析其他App数据接口

  • 3.学习网络协议,使用抓包工具分析网络数据更直观

常用抓包工具

比较常用的抓包工具大概有4个,主要用作互补,配合使用基本所有平台、所有抓包需求都能满足:

fidder windows平台最受欢迎抓包工具,免费、易用
​
charles Mac平台下最佳抓包工具,易于使用,收费软件,可一直试用
​
wireShark 老牌抓包工具,跨平台,功能齐全、强大
​
tcpdump 命令行程序,适用于手机系统和后台系统

三、用工具Wireshark进行抓包

Wireshark简介

Wireshark 能获取 HTTP,也能获取 HTTPS,但是不能解密 HTTPS,所以 Wireshark 看不懂 HTTPS 中的内容,总结,如果是处理 HTTP,HTTPS 还是用 Fiddler,其他协议比 如 TCP,UDP 就用 Wireshark。

抓包:

1.打开Wireshark软件

 

2.点击 捕获>选项,开始抓包

 

3.查看网络状态,打开电脑设置->网络和Internet->状态,可以看见当前网络为`以太网

 

4.点击以太网双击

 

5.点击统计——流量图

 

勾选限制显示过滤器,流量类选择TCP Flows

 

抓包分析

1.TCP建立连接的三次握手

 

2.抓取的内容如下

 

3.抓取包的信息如下

 

4.选中以太网首部,最下面的数据同步显示

 

5.选中IP首部,最下面的数据同步显示

 

6.具体的每个字节展开

 

 

 

7.TCP三次握手分析,以源IP:10.61.31.66和`目标IP:61.128.154.179为例

(1)客户端发送一个TCP,标志位SYN,序列号为0,客户请求建立连接

 

(2)服务器返回确认号,标志位为SYN、ACK。确认号设置为ISN+1,即0+1=1

 

(3)客户端再次发送确认包,SYN标志位为0,ACK标志位为1,并且把服务器发来的ACK的序号字段+1,放在确认字段中发送给对方,并且在数据段写ISN+1。

 

四 总结

本次实验了解了http协议的原理,了解了TCP三次握手的过程,TCP通过序列号、确认应答等来保证连接的可靠性。抓包实际上是分析网络协议的一种过程,尽管繁琐的细节劳动都让抓包工具做了,但我们还是需要了解下基础的网络协议,好帮助我们更好的分析问题。

五 参考链接

网络抓包与HTTP协议_一只特立独行的猪️的博客-CSDN博客

网络抓包原理 - 简书

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值