wireshark监控http和https协议传输过程

     Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

 一、网络协议简介

       1、在一次http请求过程中,需要需要用到各种网络协议,其中TCP/IP协议TCP/IP不是两个协议,而是一整个协议栈, 被简化成4层协议,如下:

 

    2、三次握手

      假设A B两个客户端进行数据的传输,在真正进行数据的传输之前,两者会用问答式的方式建立连接

      1) 第一次握手: A向B发送了一段数据(包含了SYN,全称同步序列号,这是请求建立握手的信息),然后呢,A问了B一个问题,说:"B,你想用哪个同步序列号作为起始字段的数据包回复我呢?"

      2)第二次握手: B收到了A的请求,B呢也没闲着,他做了两件事,首先,它回复A说:"我收到你的请求了,这是我的ACK+SYN",然后呢,他也问了A一个问题:"你要用哪个序列号作为起始字段回应我呢?"

      3)第三次握手: A收到了B的响应,说:"我已经收到了你的回复,现在我要开始真正传输数据了"

      仅仅是上面的三次握手,数据的传输就一定是安全的吗? 假如三次握手之后,发送端发送出了异常的数据呢? 当然不是,进行数据交互的双方存在确认应答机制 如下图:

 

 

       当接收端接受到数据后,会告诉发送端自己所期望的下一个数据序号时,这个机制称为确认应答机制,一旦发送端收到收到某个确认应答之后,又连续接到了三个相同的确认应答的信号,那么发送端就知道了发送出现了异常,于是重新根据确认应答的信号进行重新发送

    3、四次挥手

        A B 完成了数据的传输后,通过彼此之间的四次挥手,告诉彼此,本次连接正常结束

       1) 第一次挥手: 作为发送端的A,它发送完了数据之后把FIN(希望断开连接的标志)置为1,告诉B,我要准备断开连接了

       2) 第二次挥手: B收到了A发过来的请求断开连接的请求,把ACK置为1,告诉A,我知道你的请求了

       3) 第三次挥手: B向A提出关闭连接的请求,将FIN置为1

       4)第四次挥手: A接受到B的确认关闭信息,把ACK置为1,告诉B双方的连接到此结束

为什么握手需要三次,但是挥手需要四次呢?#

三次握手与四次挥手相比,后者多出来了一次向发送端的发送确认断开的会话,当客户端请求断开的时候,服务端仅仅是回复他,自己收到请求的,但是它不会立即断开,它会等本轮发送的数据包完全发送过去才会断开连接.接着,当全部数据发送过去之后,服务端再次向客户端发送FIN+ACK 告诉它,可以断开了,于是就多了一次挥手

为什么不能进行两次握手连接呢?#

两次握手少了一次确认机制,假设依然是A,B进行IO数据交互,同样是A先发起请求,A对B说,老哥,我想问你要点数据,这是我的SYN ,B接收到了,跟A说,好的老弟,这是我的应答分组序号, 然而,B发送给A的消息丢包了,A并没有建立和B的连接,但是B却认为A已经ok了,于是B开始发送数据, 发送给A的数据全部被A忽略掉,B就出现了数据发送的超时,再重新发送就出现了死锁的现象

 二、wireshark监控http传输过程

   1.demo应用部署在10.10.55.12环境上;

   2.启动wireshark,,访问demo应用

    3.在wireshark中,输入查询如下:ip.addr == 10.10.55.12 and tcp.port == 8088, 整个http协议传输过程如下

 

 

三、wireshark监控https传输过程

      1. https请求过程如下:

      HTTPS 连接建立过程

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值