使用wireshark学习网络协议

栏目: 编程工具 · 发布时间: 5年前

内容简介:早就听说了我使用的是Mac版先使用

早就听说了 Wireshark 是一个强大的网络数据包分析软件,可以详细的展示网络数据包的交换过程,是监控网络请求定位网络问题的利器。但是一直没能静下心来学习它,一方面是对它的强大和专业望而生畏,另一方面是平时网络调试使用 FiddlerCharles 抓包也满足需求了。今天学习网络协议时,突然觉得纯理论的知识点太空泛,想要抓一次真实的网络请求数据来对照学习,本文就是我使用 Wireshark 来学习网络协议的笔记。

使用wireshark学习网络协议

一、抓取数据包

我使用的是Mac版 Wireshark 2.4.0 ,目标是抓取请求 http://www.baidu.com HTML文件的网络数据过程。 Wireshark 打开后不用任何设置就可以抓到电脑上发出的所有网络请求,可以看到大量的数据包,包含了电脑上发出的所有的网络请求。我们想要的是一次网络请求完整的数据交换过程,数据太多不利于分析,所以首先需要过滤出我们关注的数据。我这里想到使用指定ip来过滤网络请求。

➜  Desktop ping www.baidu.com
PING www.a.shifen.com (61.135.169.125): 56 data bytes
64 bytes from 61.135.169.125: icmp_seq=0 ttl=53 time=2.697 ms
64 bytes from 61.135.169.125: icmp_seq=1 ttl=53 time=2.963 ms
...
复制代码

先使用 ping 命令获取 www.baidu.com 对用的ip,然后设置 Wireshark 的过滤器 ip.addr == 61.135.169.125 。在浏览器中直接请求 www.baidu.com 会多次请求改ip服务器,因为HTML中还有图片、css的资源文件需要加载。这里我们只要请求HTML文件的请求,所以这里使用 curl 命令来模拟一次http请求。

➜  Desktop curl http://www.baidu.com
复制代码

通过 curl 命令模拟一次http请求,然后使用 Wireshark 过滤器过滤出和指定ip服务器交互的请求,我们就得到了如下图所示数据。

使用wireshark学习网络协议

二、分析数据包

从上面截图中可以看出一次http请求的过程大致是:

  1. TCP协议三次握手建立连接
  2. 客户端发送http request
  3. 服务端发送http response
  4. tcp四次握手断开连接

四个过程我们这里重点看下tcp协议三次握手的过程。先来看下TCP数据包结构图。

使用wireshark学习网络协议

再贴下三次握手流程图

使用wireshark学习网络协议
最后看下 Wireshark

抓到的第一次握手的数据包。首先客户端向服务端发送了一个设置了Syn (Synchronize) 标记的包,告诉服务端请求建立连接。此时的数据序号是0。

使用wireshark学习网络协议

下面是第二次握手的TCP数据包。服务端向客户端发送了一个设置了Acknowledgment位,并且Acknowledgment number设置成了客户端发送数据序号加一。

使用wireshark学习网络协议
使用wireshark学习网络协议

以上所述就是小编给大家介绍的《使用wireshark学习网络协议》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

文本上的算法——深入浅出自然语言处理

文本上的算法——深入浅出自然语言处理

路彦雄 / 人民邮电出版社 / 2018-3-1 / 69.00元

本书结合作者多年学习和从事自然语言处理相关工作的经验,力图用生动形象的方式深入浅出地介绍自然语言处理的理论、方法和技术。本书抛弃掉繁琐的证明,提取出算法的核心,帮助读者尽快地掌握自然语言处理所必备的知识和技能。本书主要分两大部分。第一部分是理论篇,包含前3章内容,主要介绍一些基础的数学知识、优化理论知识和一些机器学习的相关知识。第二部分是应用篇,包含第4章到第8章,分别针对计算性能、文本处理的术语......一起来看看 《文本上的算法——深入浅出自然语言处理》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具