wireshark tcp握手,使用wireshark分析tcp协议

  wireshark tcp握手,使用wireshark分析tcp协议

  之前写过一篇博客:用Fiddler调试HTTP和HTTPS。本文介绍了另一个简单易用的数据包捕获工具wireshark,它用于获取网络数据包,包括http、TCP、UDP等网络协议数据包。

  记得大学的时候学过TCP的三次握手协议。那时候我才知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些包,总觉得像飘在云上,没有实际学过。有了wireshark,这些网络数据包就可以被拦截,数据包中的每一个字段都可以看得一清二楚。可以加深我们对网络协议的理解。

  对我来说,wireshark是学习网络协议的最佳工具。

  阅读目录

  Wireshark推出wireshark vs FIDDLER,这是wireshark做不到的。谁可以使用wiresharkwireshark抓取数据包?wireshark窗口介绍wireshark显示过滤、保存过滤、过滤表达式包列表窗格包细节窗格)Wireshark和对应的OSI七层模型TCP包;TCP三次握手过程实例分析

  Wireshark简介

  Wireshark的官方下载网站:http://www.wireshark.org/

  Wireshark是一款非常流行的网络数据包分析软件,功能强大。它可以拦截各种网络数据包,并显示网络数据包的详细信息。

  Wireshark是开源软件,可以放心使用。它可以在Windows和Mac OS上运行。

  用wireshark的人一定要知道网络协议,否则看不懂wireshark。

  Wireshark做不到的事情

  出于安全原因,wireshark只能查看数据包,但不能修改数据包的内容或发送数据包。

  Wireshark VS Fiddler

  Fiddler是一个运行在windows上的程序,专门用来捕获HTTP和HTTPS。

  Wireshark可以获得HTTP和HTTPS,但它不能解密HTTPS,所以wireshark不能理解HTTPS的内容。

  综上所述,如果你处理的是HTTP、HTTPS或者Fiddler,其他协议如TCP、UDP都会使用wireshark。

  其他同类工具

  微软的网络监视器

  嗅探器

  谁会使用wireshark?

  1.网络管理员将使用wireshark检查网络问题。

  2.软件测试工程师使用wireshark捕获数据包来分析他们测试的软件。

  3.从事socket编程的工程师会使用wireshark进行调试。

  4.听说华为和中兴的大部分工程师都会用wireshark。

  简而言之,任何与网络有关的东西都可能使用wireshark。

  Wireshark开始抢包。

  开始界面

  Wireshark是一个网络数据包,它捕获机器上的某个网卡。当机器上有多个网卡时,您需要选择一个网卡。

  单击capture-接口.将出现以下对话框,并选择正确的网卡。然后点击“开始”按钮开始抓取袋子。

  Wireshark窗口简介

  WireShark主要分为这些接口。

  1.显示过滤器,用于过滤。

  2.数据包列表窗格,显示捕获的数据包,包括源地址、目的地址和端口号。不同的颜色,代表

  3.数据包详细信息窗格,显示数据包中的字段。

  4.剖析器窗格(十六进制数据)

  5.杂项(地址栏,杂项)

  Wireshark显示过滤

  过滤很重要。新手在使用wireshark时,会在几千条甚至上万条记录中得到大量冗余信息,很难找到自己需要的部分。变得迷茫。

  过滤器将帮助我们在大量数据中快速找到我们需要的信息。

  有两种过滤器,

  一个是显示过滤器,在主界面上,用于在捕获的记录中查找所需的记录。

  一个是捕获过滤器,用来过滤捕获的数据包,避免捕获太多记录。在捕获中设置-捕获过滤器

  保存过滤

  在过滤器栏上,在填充过滤器的表达式后,点击保存按钮并给它一个名称。例如“过滤器102”,

  过滤器栏上还有一个按钮“过滤器102”。

  过滤表达式的规则

  表达式规则

  1.协议过滤

  例如TCP,只显示TCP协议。

  2.IP过滤

  比如ip.src==192.168.1.102说明源地址是192.168.1.102,

  Ip.dst==192.168.1.102,目的地址为192.168.1.102。

  3.端口过滤

  Tcp.port==80,端口为80

  Tcp.srcport==80,只显示Tcp协议80愿意端口的。

  4.Http模式过滤

  Http.request.method==GET ,则只显示HTTP GET方法的。

  5.逻辑运算符是AND/OR

  常用的筛选表达式

  数据包列表窗格(数据包列表窗格)

  列表面板显示编号、时间戳、源地址、目的地址、协议、长度和数据包信息。您可以看到不同的协议以不同的颜色显示。

  您还可以修改这些显示颜色规则、视图颜色规则。

  数据包详细信息窗格(数据包详细信息窗格)

  该面板是我们最重要的面板,用于查看方案中的每个字段。

  每一行的信息如下

  帧:物理层数据帧概述

  以太网II:数据链路层以太网帧的报头信息

  因特网协议版本4:因特网层中IP分组的报头信息

  传输控制协议:传输层t的数据段的头信息,这里是TCP。

  超文本传输协议:应用层的信息,这里是HTTP协议。

  Wireshark和相应的OSI七层模型

  TCP数据包的具体内容

  从下图中可以看到wireshark捕获的TCP数据包中的每个字段。

  分析一个实例的TCP三次握手过程

  看到这里,我们基本上对wireshak有了初步的了解。现在我们来看一个TCP三次握手的例子。

  三次握手过程是

  这张图我看过很多次了。这次我们就用wireshark来实际分析一下三次握手的过程。

  打开wireshark,打开浏览器,输入http://www..com/tankxiao.

  在wireshark中进入http filtering,然后选择GET /tankxiao HTTP/1.1的记录,右键点击‘Follow TCP Stream’,

  这样做的目的是获取打开网站的浏览器相关的数据包,会得到下图。

  从图中可以看出,wireshark从三次握手中截获了三个数据包。第四个包是HTTP,说明HTTP确实使用TCP建立连接。

  第一个握手包

  客户端发送一个TCP,标志位为SYN,序列号为0,代表客户端请求建立连接。如下图

  第二握手包

  服务器发回确认数据包,标志位为SYN、ACK ACK。将确认号设置为客户的I S N加1,即0 1=1,如下图所示。

  三次握手的数据包

  客户端再次发送确认数据包(ACK)。SYN标志位为0,ACK标志位为1。服务器将ACK) SYN的序列号字段1放入确认字段中并发送给另一方。ISN的1被写入数据段,如下图所示:

  这样就通过了TCP三次握手,建立了连接。

  来自:http://www . cn blogs . com/tank Xiao/archive/2012/10/10/2711777 . html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: