网络抓包与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软件

网络抓包与HTTP协议

 

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

网络抓包与HTTP协议

 

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

网络抓包与HTTP协议

 

4.点击以太网双击

网络抓包与HTTP协议

 

5.点击统计——流量图

网络抓包与HTTP协议

 

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

网络抓包与HTTP协议

 

抓包分析

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

网络抓包与HTTP协议

 

2.抓取的内容如下

网络抓包与HTTP协议

 

3.抓取包的信息如下

网络抓包与HTTP协议

 

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

网络抓包与HTTP协议

 

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

网络抓包与HTTP协议

 

6.具体的每个字节展开

网络抓包与HTTP协议

 网络抓包与HTTP协议

 网络抓包与HTTP协议

 

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

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

网络抓包与HTTP协议

 

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

网络抓包与HTTP协议

 

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

网络抓包与HTTP协议

 

四 总结

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

五 参考链接

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

网络抓包原理 - 简书

上一篇:网络抓包与HTTP协议


下一篇:wireshark分析明文账号、密码登录过程