访问网页全过程,用wireshark抓包分析
用wireshark抓包查看访问网站过程
打开wireshark,打开一个无痕浏览器,输入网址,到网页呈现这一过程,网络数据包传递的消息都会被放在wireshark里。针对这些包,我们可以逐一分析,摸清网络访问的全过程。
首先是通过DNS获取网站的ip地址:
在抓到的包里面逐一排查,会请求网站的第一次出现的数据包是DNS包。如图82号包(访问百度为例)。
选择82号包后,会出现下面的内容,分别是每层里面的内容和头部的字节码。
这个数据包的73个字节里包含:数据链路层报文头(数据链路层),ip层头(网络层),udp头(传输层),dns头(应用层)。
数据链路层的主要信息有mac地址2个(源地址和目的地址),主要是你电脑的mac地址,他会发到路由器的mac地址去,然后再由路由器进行转发。
网络层层有ip4,ip地址,目的ip地址等信息。
传输层主要负责了端口的管理。
我们具体看一下Dns 的回应包,包含从dns server发到我们电脑,具体的内容里面把query重复一遍,然后answer应答了我们请求的网站对应的IP地址,于是我们就知道了访问网站的ip地址。
接着我们过滤一下IP地址,下一个包就是TCP开始三次握手的包了。
打开看下面各层的信息
数据链路层依然是发给路由器:
网络层是发给百度的ip,传输层把端口对应了起来
具体看tcp层:
第一个请求包内容:
百度回应的包:
第三次确认包也是类似:
到这就完成了三次握手,就可以开始通信了。http协议就开始互相发送数据包。
最后的四次挥手也是一样的,可能会存在长连接的情况,要等一段时间服务器才会主动断开连接,翻到最下面应该就能看到了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了