wireShark抓取本地http包,分析状态

WireShark使用

正常的WireShark是无法抓取localhost包的,所以需要安个插件。https://github.com/nmap/npcap
正常对应着自己的需求安装就行了。

抓包

首先是用postman发送http包。
在这里插入图片描述
postman对于Connection项只能关掉原来的,新写一个。
然后我们看第一次connection:close的情况。

Connection:Close

在这里插入图片描述

最上面的过滤器内容是 ip.addr == 127.0.0.1 && ip.dst == 127.0.0.1 && tcp.port == 8888。代表只接受源ip和目的ip是环回地址,并且端口号是8888(服务器)的数据包。
前三个tcp是三次握手,然后收到了一个8830(postman发送的)http协议包,然后根据8888(服务器)返回一个tcp包表示我收到了。然后服务器把得到的数据封装成http返回,最后再收到8830的确认包。然后由于不是持久连接,四次挥手结束过程。
下图是服务器第一次收到的http信息。
在这里插入图片描述
包里面显示Connection是Close。
测试结果Connection:Close,耗时0.125304s

Connection:keep-alive

在这里插入图片描述
除了深颜色的部分,其他都和上一种情况一样。选出第一个黑色的tcp包查看一下内容。
首先,根据端口号,是先由客户端发起的(8348端口),长度是45。点开查看数据包,数据只带了一个00.
在这里插入图片描述
之后每一个由8348(客户端)发送的数据包相差时间都近似于1s,一共发送了四次。
测试结果:Connection:keep-alive,耗时5.103102s

总结

  • keep-alive字段不会立即断开tcp连接。
  • keep-alive会间隔一段时间连续发送四个数据包。(可能根据不同主机的设置,间隔时间和发送数据包数量不同)
  • 连接的终止是由客户端先发起的。

写一天代码了,晚上放松一下,探索一下未知的领域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值