用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协议就开始互相发送数据包。

最后的四次挥手也是一样的,可能会存在长连接的情况,要等一段时间服务器才会主动断开连接,翻到最下面应该就能看到了。

最新文章

  1. php 小函数
  2. python json.dumps() json.dump()的区别
  3. XMPP框架下微信项目总结(2)授权登陆/注销/注册/打印日志
  4. XML标签
  5. RPM卸载软件包
  6. CentOS6.5菜鸟之旅:纯转载Linux目录结构
  7. 【原创】PostSharp入门笔记
  8. CentOS6.5 mini开启网络
  9. HDU5032 -- Always Cook Mushroom 树状数组 14年北京网络赛
  10. html页面打开ie浏览器默认打开最高版本
  11. .NET Core实战项目之CMS 第十七章 CMS网站系统的部署
  12. POJ1151-扫面线+线段树+离散化//入门题
  13. Codeforces 1114 - A/B/C/D/E/F - (Undone)
  14. 虚拟机下Linux操作Ubuntu
  15. FlinkCEP - Complex event processing for Flink
  16. C# Math类简介运用
  17. Java——String,StringBuffer,StringBuilder
  18. VLAN 及 GVRP 配置
  19. pandas_1
  20. 用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2

热门文章

  1. Java 17 新功能介绍(LTS)
  2. Java测试开发--Java基础知识(二)
  3. JSON数据和Java对象的相互转换
  4. docker安装pxc集群
  5. kubernetes笔记
  6. dart系列之:dart语言中的异常
  7. GitHub 12个实用技巧-从projiect项目管理、代码链接到博客wiki全过程
  8. Nginx nginx: [emerg] using regex "\.php$" requires PCRE library 或 编译nginx错误:make[1]: *** [/pcre//Makefile] Error 127
  9. GWAS初探
  10. Excel-统一小括号格式(中文小括号,英文小括号)