zoukankan      html  css  js  c++  java
  • Wireshark教程之二:Wireshark捕获数据分析

    使用 Wireshark 选择需要抓包的网络方式,并设置过滤器条件,当有数据通信后即可抓到对应的数据包,这里将分析其每一帧数据包的结构。

    以HTTP协议为例,一帧数据包一般包括以下几个部分:

    • Frame:物理层的数据帧情况。
    • Ethernet II :数据链路层以太网帧头部信息。
    • Internet Protocol Version 4:以太网协议层。
    • Transmission Control Protocol:传输控制协议。
    • HyperText Transfer Protocol:超文本传输协议。

    对于各种协议而言,前三层基本一样,第四层开始就可以出现TCP, UDP 协议,第五层就有HTTP 应用层协议等。

    第一层:Frame:(物理层)

     1 // 第8056帧,有507个字节在线,共4056位,实际在接口0上捕获到507个字节
     2 Frame 8056: 507 bytes on wire (4056 bits), 507 bytes captured (4056 bits) on interface 0
     3     // 接口ID:0
     4     Interface id: 0 (DeviceNPF_{7920DB7B-B8DB-417F-8C85-72E6DCCD61C5}) 
     5     // 封装类型
     6     Encapsulation type: Ethernet (1) 
     7     // 到达时间
     8     Arrival Time: Aug  8, 2019 15:45:00.750794000 中国标准时间       
     9     // 包偏移量
    10     [Time shift for this packet: 0.000000000 seconds]
    11     // 新纪元时间
    12     Epoch Time: 1565250300.750794000 seconds
    13     // 两帧之间的时间间隔
    14     [Time delta from previous captured frame: 0.000326000 seconds]
    15     // 捕获到显示的时间间隔
    16     [Time delta from previous displayed frame: 0.126423000 seconds]
    17     // 此帧与第一帧的时间间隔
    18     [Time since reference or first frame: 197.144051000 seconds]
    19     // 帧号
    20     Frame Number: 8056
    21     // 帧长度
    22     Frame Length: 507 bytes (4056 bits)
    23     // 捕获的帧长度
    24     Capture Length: 507 bytes (4056 bits)
    25     // 帧是否标记
    26     [Frame is marked: False]
    27     // 帧是否忽略
    28     [Frame is ignored: False]
    29     // 帧内封装的协议层次结构
    30     [Protocols in frame: eth:ethertype:ip:tcp:http]
    31     // 着色标记的协议
    32     [Coloring Rule Name: HTTP]
    33     // 着色规则显示的字符串
    34     [Coloring Rule String: http || tcp.port == 80 || http2]

    第二层:Ethernet II (数据链路层以太网帧头部信息)

    1 // 源MAC地址:TexasIns_ce:a9:4b (68:c9:0b:ce:a9:4b)  
    2 // 目标MAC地址:AplexTec_0d:4e (40:d8:55:16:ad:4e)
    3 Ethernet II, Src: AsustekC_4d:bc:f2 (70:8b:cd:4d:bc:f2), Dst: Hangzhou_91:be:b8 (d4:61:fe:91:be:b8)
    4     // 目标MAC地址
    5     Destination: Hangzhou_91:be:b8 (d4:61:fe:91:be:b8)
    6     // 源MAC地址
    7     Source: AsustekC_4d:bc:f2 (70:8b:cd:4d:bc:f2)
    8     // IP类型
    9     Type: IPv4 (0x0800)

     第三层:Internet Protocol Version 4(以太网协议层)

     1 // IPv4 协议,源IP:192.168.1.50, 目的IP:111.202.102.36
     2 Internet Protocol Version 4, Src: 192.168.1.50, Dst: 111.202.102.36
     3     // 版本4
     4     0100 .... = Version: 4
     5     // 头长度20字节
     6     .... 0101 = Header Length: 20 bytes (5)
     7     // 差分服务字段
     8     Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
     9     // 总长度
    10     Total Length: 493
    11     // 鉴别
    12     Identification: 0x90c2 (37058)
    13     // 标志
    14     Flags: 0x4000, Don't fragment
    15     // 生存期
    16     Time to live: 64
    17     // 协议名称
    18     Protocol: TCP (6)
    19     // 头部校验和
    20     Header checksum: 0x0000 [validation disabled]
    21     // 头部校验和检测状态
    22     [Header checksum status: Unverified]
    23     // 源IP
    24     Source: 192.168.1.50
    25     // 目标IP
    26     Destination: 111.202.102.36

    第四层:Transmission Control Protocol(传输控制协议)

     1 // 传输控制协议,源端口:4434,目标端口:80,序号1,确认号:1,长度:453
     2 Transmission Control Protocol, Src Port: 4434, Dst Port: 80, Seq: 1, Ack: 1, Len: 453
     3     // 源端口:4434
     4     Source Port: 4434
     5     // 目标端口:80
     6     Destination Port: 80
     7     // 流索引
     8     [Stream index: 105]
     9     // TCP段长度
    10     [TCP Segment Len: 453]
    11     // 序号
    12     Sequence number: 1    (relative sequence number)
    13     // 下一个序号
    14     [Next sequence number: 454    (relative sequence number)]
    15     // 确认号
    16     Acknowledgment number: 1    (relative ack number)
    17     // 头部长度
    18     0101 .... = Header Length: 20 bytes (5)
    19     // 标记
    20     Flags: 0x018 (PSH, ACK)
    21     // 窗口大小
    22     Window size value: 32768
    23     // 计算窗口大小
    24     [Calculated window size: 262144]
    25     // 窗口大小乘积因子
    26     [Window size scaling factor: 8]
    27     // 校验和
    28     Checksum: 0x99a8 [unverified]
    29     // 校验和监测状态
    30     [Checksum Status: Unverified]
    31     // 紧急指针
    32     Urgent pointer: 0
    33     [SEQ/ACK analysis]
    34     [Timestamps]
    35     // TCP负载
    36     TCP payload (453 bytes)

    第五层:HyperText Transfer Protocol(超文本传输协议)

     1 // 超文本传输协议(HTML)
     2 Hypertext Transfer Protocol
     3     // POST请求
     4     POST /q HTTP/1.1
    
     5     // 缓存控制
     6     Cache-Control: no-cache
    
     7     // 连接类型
     8     Connection: Keep-Alive
    
     9     // 编辑注解
    10     Pragma: no-cache
    
    11     // 用户代理
    12     User-Agent: SESC
    
    13     // 内容长度
    14     Content-Length: 719
    
    15         [Content length: 719]
    16     // 主机
    17     Host: get.sogou.com
    
    18     
    
    19     // 完整请求地址
    20     [Full request URI: http://get.sogou.com/q]
    21     [HTTP request 47/57]
    22     // 前一请求所在帧
    23     [Prev request in frame: 5904]
    24     // 响应帧
    25     [Response in frame: 5910]
    26     // 下一请求帧
    27     [Next request in frame: 5912]
    28     // 文件数据
    29     File Data: 719 bytes
    30     // 数据
    31     Data (719 bytes)

    HTTP协议的内容根据请求情况会有所不同,需要具体情况具体分析。

  • 相关阅读:
    10. 正则表达式匹配(动态规划)
    8. 字符串转换整数 (atoi)
    5. 最长回文子串
    4. 寻找两个正序数组的中位数
    1109. 航班预订统计
    计算机网络面试整理
    HTTP 响应 代码
    Tomcat 安装 2019.1.20
    ubuntu 编译 jdk (三)
    ubuntu 编译 jdk (二)
  • 原文地址:https://www.cnblogs.com/bossing/p/11321879.html
Copyright © 2011-2022 走看看