抓包测试-wx所使用的传输协议

1.测试目的

探索wx所有的传输协议

2.测试工具

科来网络分析系统 技术交流版

下载地址:下载科来网络分析免费产品及资源 - 科来

3.wx

主要采用的是CS(客户端-服务器)架构。

在这种架构中,客户端程序通常安装在用户的电脑或手机上,而服务器则负责处理和存储数据。微信的用户需要在设备上安装微信应用,这符合CS架构的特点。

需要注意的是,wx小程序等特定应用可能同时涉及到BS(浏览器-服务器)架构,即用户通过浏览器访问服务器上的应用。但这种情况并不改变微信主体架构的类型。

4.开始实验

4.1打开科来

4.2实时分析-选择网卡-点击开始

4.3打开进程浏览器-wechat.exe

数据包

协议

  1. Ethernet II
    • Ethernet II是一种以太网帧格式,用于在局域网(LAN)中传输数据。它包含了目的地址、源地址、类型、数据以及校验和等字段。Ethernet II帧在现代网络中非常常见,被广泛用于各种设备和计算机之间的通信。
  2. IP (Internet Protocol)
    • IP是网络之间互连的协议,它为计算机网络相互连接进行通信而设计。IP地址用于标识网络上的设备,使得数据包可以在不同的网络之间路由。
  3. TCP (Transmission Control Protocol)
    • TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它确保数据包在传输过程中按序到达,并提供错误检测和流量控制机制。
  4. HTTP (HyperText Transfer Protocol)
    • HTTP是超文本传输协议,用于在WWW(万维网)上传输数据。它是客户端和服务器之间通信的基础,用于请求和接收网页、图片、视频等资源。
  5. RESPONSE
    • 在网络协议中,特别是HTTP协议中,响应是服务器对客户端请求的回复。它包含了请求的资源或关于请求状态的信息。
  6. APPLICATION
    • 在这里,“APPLICATION”可能指的是网络应用或软件应用,这些应用使用上述的网络协议进行通信和数据传输。
  7. IMAGE
    • “IMAGE”可能指的是图像文件或数据,它可以通过网络协议(如HTTP)进行传输和显示。
  8. REQUEST
    • 在网络协议中,请求是由客户端发送给服务器的,要求服务器执行某个操作或返回某些数据。在HTTP中,请求通常包含方法(如GET或POST)、URL以及其他请求头信息。
  9. POST
    • POST是HTTP协议中的一个方法,用于向指定的资源提交数据进行处理请求(例如提交表单或上传文件)。它通常用于发送需要由服务器进行处理的数据。

 查看TCP会话

可以看到当前采用http协议 80端口

4.3打开进程浏览器-WeChatAppEx.exe

协议

直接看下日志

使用了ssl证书 签名算法是 sha256RSA:

sha256RSA 通常指的是使用SHA-256哈希算法和RSA公钥加密算法的组合。这种组合常用于数字签名,特别是在SSL/TLS证书和公钥基础设施(PKI)中。

SHA-256

SHA-256(Secure Hash Algorithm 256)是一种密码哈希函数,它接受输入(可以是任何大小的数据),并输出固定大小(256位)的哈希值。SHA-256设计的目的在于使输出的哈希值难以通过反向操作得到原始输入,并且在不同的输入下产生相似的输出(即哈希冲突)的概率极低。

RSA

RSA是一种非对称加密算法,它使用一对密钥:一个公钥用于加密数据或验证签名,另一个私钥用于解密数据或创建签名。RSA的安全性基于大数分解问题的困难性,即将一个大数分解为两个质数的乘积在计算上是不可行的。

数字签名

在数字签名中,数据的发送者使用其私钥对数据的哈希值进行加密,生成一个签名。接收者可以使用发送者的公钥解密这个签名,得到原始的哈希值,然后自己对原始数据进行哈希计算,比较得到的哈希值是否与解密得到的哈希值相同。如果相同,接收者就可以确信数据在传输过程中没有被篡改,并且确实来自发送者。

sha256RSA上下文中,发送者可能首先使用SHA-256算法对数据进行哈希,然后使用RSA私钥对哈希值进行签名。接收者则使用RSA公钥验证签名,并使用相同的SHA-256算法对数据进行哈希,以验证数据的完整性和来源。

这种组合提供了数据的完整性和身份验证,是安全通信的重要组成部分。

5.最后看下tcp交易

这是一个tcp流,从三次握手建立连接到最后不在联系(正常是4次分手没抓全)

分手:

在TCP(传输控制协议)中,ACK和FIN是两个重要的标志位。

ACK(Acknowledgment)是接收方对发送方的数据包的一种确认,用于确认已收到的数据或请求。在TCP连接中,数据的传输是通过序号(Sequence Number)来管理的,ACK用于确认接收到的数据。

FIN(Finish)则用于标识发送方的数据已经发送完成,并请求结束连接。当一方想要关闭连接时,它会发送一个带有FIN标志的TCP报文段给对方。接收到带有FIN标志的报文段后,接收方会发送一个ACK报文作为回应,表示接收到了FIN请求。然后双方交换FIN和ACK报文,逐步关闭连接,直到双方都发送了FIN并收到了对方的ACK为止。

服务器说:我们分手吧 然后客户端:一直不同意,不给服务器回 fin标识包,反而说燕子你别走我不能没有你。

TCP keep-alive(保活)机制是TCP协议中的一种功能,用于检测连接的活跃状态,以防止因网络不活动而断开连接。当TCP连接建立后,如果长时间没有数据传输,网络中的某些设备(如防火墙或路由器)可能会认为连接已经断开,从而主动关闭连接。为了避免这种情况,TCP keep-alive机制会定期发送探测报文来检查连接的活跃状态。

TCP keep-alive机制通过一系列套接字选项来配置,包括SO_KEEPALIVE、TCP_KEEPIDLE、TCP_KEEPINTVL和TCP_KEEPCNT等。SO_KEEPALIVE选项用于开启或关闭TCP保活机制;TCP_KEEPIDLE选项设置保活探测报文发送时间,即多长时间没有收到TCP报文后开始发送保活探测报文;TCP_KEEPINTVL选项设置保活探测报文发送间隔周期,即第一个探测报文发送完后,如果没有收到对端应答,则间隔一定时间后继续发送探测报文;TCP_KEEPCNT选项设置探测失败后总共发送多少个探测报文。

当TCP连接在一段时间内没有收到任何报文时,会发送TCP保活探测报文至对端。如果对端正常且响应探测报文,双方连接将维持;如果对端无响应,则发送更多的探测报文,直到达到最大探测次数后,如果仍无响应,则认为连接已断开,从而关闭连接。

喊了很多声燕子,服务器也没回应,看来是黄了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值