抓包工具 - Wireshark(详细介绍与TCP三次握手数据分析)

功能使用的详细介绍

  wireshark(官方下载网站: http://www.wireshark.org/),是用来获取网络数据封包,可以截取各种网络封包,显示网络封包的详细信息,包括http,TCP,UDP,等网络协议包。注:wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

一、开始界面

  开始界面,如图1所示:

图1(wireshark开始界面)

  点击Caputre->Interfaces,出现图2所示对话框,选择需要捕获网络包的网卡,点击start按钮开始抓包。

注:如果点击interfaces时弹出提示如下:“There are no interfaces on which a capture can be done.”        ->解决方法:用管理员身份运行即可

图2(capture interfaces)

二、窗口界面介绍

  如图3所示,是抓包后的窗口界面及自己所添加的界面描述:

图3(wireshark窗口)

1、Filter(过滤规则介绍)

  使用过滤是非常重要的,在捕获的数据中会有大量的冗余信息,所以过滤功能会帮我们过滤掉不符合条件的包,提高我们的分析效率。

  过滤器有两种:

1)显示过滤器,就是图3中的Filter,用来过滤在捕获的记录中找到所需要的记录,过滤后,可以点击save按钮,然后在filter栏上就多了个刚刚保存的数据按钮;

比如:

    tcp->只显示TCP协议的记录;

    http->只看HTTP协议的记录;

    ip.src ==192.168.1.102 ->显示源地址为192.168.1.102的记录;

    ip.dst==192.168.1.102 ->目标地址为192.168.1.10的记录;

    ip.addr == 42.121.252.58 ->只显示与某主机的通信;

    tcp.port ==80->端口为80的;

    tcp.srcport == 80 ->只显示TCP协议的源端口为80的;

    http.request.method=="GET"  ->只显示HTTP GET方法的;

    eth.type == 0x806->只显示ARP报文,这个字段的值表示是ARP报文,如果是ip报文此值为0x8000

    注:Type后面的值记不住的话,可以在Expression中选择,如图4所示:

图4(expression设置)

2)捕获过滤器(Capture -> Capture Filters),用来过滤捕获的封包,以免捕获太多的记录。

2、封包列表(Packet List Pane)

  封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 可以看到不同的协议用了不同的颜色显示,当然也可以在View ->Coloring Rules中修改显示颜色的规则。

3、封包详细信息(Packet Details Pane)

  这是最重要的信息,用来查看协议中的每一个字段。而OSI七层模型分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

在封包信息中,每行对应的含义及在OSI模型中的对应关系如下:

  Frame:   物理层的数据帧概况  ->对应OSI七层模型中的【物理层】

  Ethernet II: 数据链路层以太网帧头部信息  ->对应OSI七层模型中的【数据链路层】

  Internet Protocol Version 4: 互联网层IP包头部信息  ->对应OSI七层模型中的【网络层】

  Transmission Control Protocol:  传输层T的数据段头部信息,此处是TCP  ->对应OSI七层模型中的【传输层】

  Hypertext Transfer Protocol:  应用层的信息,此处是HTTP协议  ->对应OSI七层模型中的【应用层】

每层的封包详细含义如下:

下面的封包数据解析来源于博客:https://my.oschina.net/u/1585857/blog/479306

(1物理层的数据帧概况

  • Frame 5: 268 bytes on wire (2144 bits), 268 bytes captured (2144 bits) on interface 0               #5号帧,线路268字节,实际捕获268字节

  • Interface id: 0                                                                                                  #接口id

  • Encapsulation type: Ethernet (1)                                                                          #封装类型

  • Arrival Time: Jun 11, 2015 05:12:18.469086000 中国标准时间          #捕获日期和时间

  • [Time shift for this packet: 0.000000000 seconds]

  • Epoch Time: 1402449138.469086000 seconds

  • [Time delta from previous captured frame: 0.025257000 seconds]   #此包与前一包的时间间隔

  • [Time since reference or first frame: 0.537138000 seconds]              #此包与第一帧的时间间隔

  • Frame Number: 5                                                                                          #帧序号

  • Frame Length: 268 bytes (2144 bits)                                                         #帧长度

  • Capture Length: 268 bytes (2144 bits)                                                      #捕获长度

  • [Frame is marked: False]                                                                              #此帧是否做了标记:否

  • [Frame is ignored: False]                                                                              #此帧是否被忽略:否

  • [Protocols in frame: eth:ip:tcp:http]                                                             #帧内封装的协议层次结构

  • [Number of per-protocol-data: 2]                                                                          #

  • [Hypertext Transfer Protocol, key 0]

  • [Transmission Control Protocol, key 0]

  • [Coloring Rule Name: HTTP]                                                                       #着色标记的协议名称

  • [Coloring Rule String: http || tcp.port == 80]                                                        #着色规则显示的字符串

(2数据链路层以太网帧头部信息

  • Ethernet II, Src: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89), Dst: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)

  • Destination: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)                                         #目标MAC地址

  • Source: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89)                                        #源MAC地址

  • Type: IP (0x0800)

(3互联网层IP包头部信息

  • Internet Protocol Version 4, Src: 192.168.0.104 (192.168.0.104), Dst: 61.182.140.146 (61.182.140.146)

  • Version: 4                                                                                                                          #互联网协议IPv4

  • Header length: 20 bytes                                                                               #IP包头部长度

  • Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))                                                                                                                                   #差分服务字段

  • Total Length: 254                                                                                           #IP包的总长度

  • Identification: 0x5bb5 (23477)                                                                    #标志字段

  • Flags: 0x02 (Don't Fragment)                                                                      #标记字段

  • Fragment offset: 0                                                                                         #分的偏移量

  • Time to live: 64                                                                                               #生存期TTL

  • Protocol: TCP (6)                                                                                            #此包内封装的上层协议为TCP

  • Header checksum: 0x52ec [validation disabled]                                              #头部数据的校验和

  • Source: 192.168.0.104 (192.168.0.104)                                                   #源IP地址

  • Destination: 61.182.140.146 (61.182.140.146)                                       #目标IP地址

(4传输层TCP数据段头部信息

  • Transmission Control Protocol, Src Port: 51833 (51833), Dst Port: http (80), Seq: 1, Ack: 1, Len: 214

  • Source port: 51833 (51833)                                                                                 #源端口号

  • Destination port: http (80)                                                                             #目标端口号

  • Sequence number: 1    (relative sequence number)                                   #序列号(相对序列号)

  • [Next sequence number: 215    (relative sequence number)]           #下一个序列号

  • Acknowledgment number: 1    (relative ack number)                         #确认序列号

  • Header length: 20 bytes                                                                               #头部长度

  • Flags: 0x018 (PSH, ACK)                                                                             #TCP标记字段

  • Window size value: 64800                                                                                    #流量控制的窗口大小

  • Checksum: 0x677e [validation disabled]                                                  #TCP数据段的校验和

结合抓包数据分析TCP三次握手过程

  1、首先要清楚TCP三次握手过程,如图5所示:

图5(TCP三次握手过程)

百度百科解释TCP三次握手过程如下:

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN SENT状态,等待服务器确认;SYN:即是同步序列编号(Synchronize Sequence Numbers);

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
  
  2、要清楚TCP包中的具体内容如图6所示:(TCP包的具体内容图来源于博客:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html)

图6(TCP包的具体内容)

  3、下面用实例讲下wireshark中的tcp三次握手过程:

  1)打开wireshark后,在浏览器输入访问地址:http://www.cnblogs.com/Chilam007/,wireshark自动捕获数据包,然后过滤自己需要分析的数据,这里是过滤与主机通信的记录,

过滤规则为:ip.addr == 116.211.169.93  ,过滤后的数据如图7所示

图7(过滤后的数据包显示,注:这里不知道为什么数据包是重复的)

  • 574帧是客户端向服务器发送TCP请求建立连接。标识为SYN。

  • 619帧是服务器得到请求后向客户端回应确认包的过程。标识为SYN,ACK。
  • 620帧是客户端回应服务器发送确认包的过程,将于服务器建立连接。标识为ACK。

  • 663帧是客户端向服务器发送HTTP请求内容的过程。标识为GET。

  • 667帧是服务器相应客户端请求的过程,收到请求。标识为ACK。

  • 674帧是服务器向客户端回应内容的过程。

  2)TCP三次握手分析:

 第一次握手数据包,客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接,如图8所示

图8(第一次握手)

 第二次握手的数据包,服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1,如图9所示

图9(第二次握手)

 第三次握手的数据包,客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1,如图10所示

图10(第三次握手)

以上就是 wireshark中的tcp三次握手过程。

 
分类: 网络协议

Wireshark抓包TCP三次握手数据的更多相关文章

  1. 网络知识===wireshark抓包,三次握手分析

    TCP需要三次握手建立连接: 网上的三次握手讲解的太复杂抽象,尝试着使用wireshark抓包分析,得到如下数据: 整个过程分析如下: step1 client给server发送:[SYN] Seq ...

  2. 使用Fiddler抓包、wireshark抓包分析(三次握手、四次挥手深入理解)

    ==================Fiddler抓包================== Fiddler支持代理的功能,也就是说你所有的http请求都可以通过它来转发,Fiddler代理默认使用端口 ...

  3. 三次握手wireshark抓包分析,成功握手和失败握手

    启动 点击start出现下面的对话框 wireshark是捕获机器上的 某一块网卡的网络包,当机器上有多块网卡的时候,需要选择一个网卡进行捕获操作. 选择网卡 >主页面上,直接点击选中后star ...

  4. 用 Wireshark 图解:TCP 三次握手

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “snow warn throughout the winter” 一.什么是 Wireshar ...

  5. TCP ------ TCP三次握手(建立连接)及其相关内容

    1.TCP客户端要连接到TCP服务器,需要经过三个过程: 以下是通过 Wireshark 抓取的三次握手数据包 → [SYN] Seq= Win= Len= MSS= → [SYN, ACK] Seq ...

  6. 网络知识===wireshark抓包数据分析(一)

    wireshark分析: 上图是我进行一个HTTP协议的下载,文件内容大概是1.7M左右. 抓包数据: https://files.cnblogs.com/files/botoo/wireshark% ...

  7. 抓包工具-Wireshark(详细介绍与TCP三次握手数据分析)

    功能使用的详细介绍 wireshark(官方下载网站: http://www.wireshark.org/),是用来获取网络数据封包,可以截取各种网络封包,显示网络封包的详细信息,包括http,TCP ...

  8. TCP三次握手及TCP连接状态 TCP报文首部格式

    建立TCP连接时的TCP三次握手和断开TCP连接时的4次挥手整体过程如下图: 开个玩笑 ACK: TCP协议规定,只有ACK=1时有效,连接建立后所有发送的报文ACK必须为1 SYN(SYNchron ...

  9. 用wireshark抓包分析TCP三次握手、四次挥手以及TCP实现可靠传输的机制

    关于TCP三次握手和四次挥手大家都在<计算机网络>课程里学过,还记得当时高超老师耐心地讲解.大学里我遇到的最好的老师大概就是这位了,虽然他只给我讲过<java程序设计>和< ...

随机推荐

  1. 优化hexo访问速度-将hexo部署到云主机VPS

    写在开始 一开始将自己hexo部署到github,结果发现打开页面速度有点慢,然后又将其同时部署到coding,实现双线路访问,国内解析记录到coding,国外解析到github,这样确实网站的速度能 ...

  2. 窗体调用 OCX 的使用方法(MFC,WINFORM)

    在上一篇中,我们做了一个OCX控件,叫mfcActive.ocx,在这一篇我们要做的就是使用这个ocx控件.第一步:创建一个MFC的对话框工程(其实winform 也是一样的) 第二步:在工具箱中常规 ...

  3. MySQL多字节字符集造成主从数据不一致问题

    MySQL多字节字符集造成主从数据不一致问题 来自江羽   2013-04-27 16:03:56|  分类: 默认分类|举报|字号 订阅 转载: http://backend.blog.163.co ...

  4. flume 1.7 的配置

    Apache Flume是一个分布式的.可靠的.高效的日志数据收集组件:我们通常使用Flume将分散在集群中多个Servers的log文件,汇集到中央式的数据平台中,以解决"从离散的日志文件 ...

  5. Eclipse快速补全行末分号

    Eclipse快速补全行末分号 Eclipse快捷键跳到行末补全分号 Eclipse快速结束当前语句(在行末加上分号,就是当前语句结束) Intellij IDEA 里是有快速补全分号的功能(快捷键: ...

  6. noip普及组2007 Hanoi双塔问题

    Hanoi双塔问题 描述 给定A,B,C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的.现要将这些圆盘移到C柱上,在移动 ...

  7. JavaScript基础语句

    一.前言: 有过学习其他语言的经历,会比较好上手.但是,没有学过也无关大雅.只要认真学,都会学好.毕竟,都只是一些基础的语句.关键在于要会运用. 掌握好语句的嵌套,以及要的逻辑思维能力,就已经成功一大 ...

  8. 【win10】大水牛主机插入耳机没有声音

    主机:大水牛,技嘉主板 操作系统:win10 问题:主机前面插入耳机,没有声音,扬声器图标出错 解决 一..插入耳机 二..Realtek高清晰音频管理器 1.打开音频管理器,点击右下角的设置 2.点 ...

  9. My Favorite Color

    我喜欢的颜色收藏.. <H4>标签的颜色: Html中行内样式的设置.. Html中行内样式的设置.. Html中行内样式的设置.. Html中行内样式的设置.. <html> ...

  10. 大咖云集!IMWebConf 2017 前端大会即将在深圳盛大开幕

    2017年火热的夏季,一年一度的IMWebConf强势来袭!9月16日,深圳科兴国际会议中心,我们将全心全意打造一场前端盛宴,恭候各位的光临. 作为一名前端老鸟,笔者有幸也参与了本次的大会的主题分享& ...