Wireshark学习笔记:TCP和UDP抓包详细解析

4 阅读4分钟

wireshark学习笔记tcp抓包分析

1.wireshark概述

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……

除了Wireshark,Sniffmaster 作为一款全平台抓包工具,同样支持 HTTPS、TCP 和 UDP 协议,可在 iOS、Android、Mac、Windows 设备上实现无需代理、越狱或 root 的抓包操作,特别适合需要进行移动端或跨平台协议分析的场景。

首先筛选了一下tcp协议 80 端口,随便选了一个包简单分析一下。

2.层次简介

**1. Frame: 物理层的数据帧概况

2. Ethernet II:数据链路层头部信息

3. Internet Protocol Version:(ipv4)网络层IP包头部信息

  1. Transmission Control Protocol:传输层(TCP) 数据段头部信息

UDP数据段头部信息

3.分析数据包

3.1物理层Frame

Frame 26: 54 bytes on wire (432 bits), 54 bytes captured (432 bits) on interface \Device\NPF_{AA2A8B2D-6D6B-45A6-87F6-CB2FCAF7C0D8}, id 0	//26号帧
    Interface id: 0 (\Device\NPF_{AA2A8B2D-6D6B-45A6-87F6-CB2FCAF7C0D8})	//接口id
        Interface name: \Device\NPF_{AA2A8B2D-6D6B-45A6-87F6-CB2FCAF7C0D8}	//接口名称
        Interface description: WLAN		//接口描述
    Encapsulation type: Ethernet (1)	//封装类型
    Arrival Time: Apr 24, 2020 21:28:35.825175000 中国标准时间	//捕获时间
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1587734915.825175000 seconds
    [Time delta from previous captured frame: 0.971284000 seconds]	//与前一个包的时间间隔
    [Time delta from previous displayed frame: 4.807128000 seconds]
    [Time since reference or first frame: 5.819499000 seconds]	//此包与第一帧的时间间隔
    Frame Number: 26	//帧序号
    Frame Length: 54 bytes (432 bits)	//帧长度
    Capture Length: 54 bytes (432 bits)	//捕获帧长度
    [Frame is marked: False]	//此帧是否标记
    [Frame is ignored: False]	//此帧是否被忽略
    [Protocols in frame: eth:ethertype:ip:tcp]	//帧内封装的协议参差结构
    [Coloring Rule Name: Bad TCP]		////着色标记的协议名称
    [Coloring Rule String: tcp.analysis.flags && !tcp.analysis.window_update]	////着色规则显示的字符串

1234567891011121314151617181920

3.2数据链路层头部信息

Ethernet II, Src: 16:61:69:b0:34:42 (16:61:69:b0:34:42), Dst: TendaTec_87:c2:f8 (b8:3a:08:87:c2:f8)
    Destination: TendaTec_87:c2:f8 (b8:3a:08:87:c2:f8)	//目的地址(MAC)
    Source: 16:61:69:b0:34:42 (16:61:69:b0:34:42)		//源地址(MAC)
    Type: IPv4 (0x0800)		//0x0800使用ipv4协议

12345

3.3网络层头部信息

Internet Protocol Version 4, Src: 192.168.0.144, Dst: 103.72.47.245		//ipv4 源ip地址,目的ip地址
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)		//IP包总长度
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 40
    Identification: 0xfe55 (65109)	//标识字段
    Flags: 0x4000, Don't fragment	//标记字段
    ...0 0000 0000 0000 = Fragment offset: 0	//段偏移量
    Time to live: 64	//TTL生存周期,最多能经过多少个路由
    Protocol: TCP (6)	//此包内封装的上层协议为TCP
    Header checksum: 0xe404 [validation disabled]	//头部数据的校验和
    [Header checksum status: Unverified]		//头部数据校验状态
    Source: 192.168.0.144	//源ip地址
    Destination: 103.72.47.245	//目的ip地址

12345678910111213141516

3.4.1传输层(TCP)头部信息

Transmission Control Protocol, Src Port: 54581, Dst Port: 80, Seq: 1, Ack: 1, Len: 0
    Source Port: 54581	//源端口号
    Destination Port: 80	//目的端口号
    [Stream index: 1]
    [TCP Segment Len: 0]
    Sequence number: 1    (relative sequence number)	 //序列号(相对序列号)
    Sequence number (raw): 27760255
    [Next sequence number: 2    (relative sequence number)]
    Acknowledgment number: 1    (relative ack number)	//确认号
    Acknowledgment number (raw): 1817584915
    0101 .... = Header Length: 20 bytes (5)	//头部长度
    Flags: 0x011 (FIN, ACK)	//Tcp标记字段
    Window size value: 1024		//流量控制的窗口大小
    [Calculated window size: 1024]
    [Window size scaling factor: -1 (unknown)]
    Checksum: 0x5448 [unverified]	////数据段的校验和
    [Checksum Status: Unverified]
    Urgent pointer: 0	//  //紧急指针
    [SEQ/ACK analysis]
    [Timestamps]

123456789101112131415161718192021

3.4.2传输层(UDP)头部信息

User Datagram Protocol, Src Port: 443, Dst Port: 58733
    Source Port: 443		//源端口号
    Destination Port: 58733		   //目的端口号
    Length: 1317			//长度
    Checksum: 0x0d7c [unverified]	//校验和
    [Checksum Status: Unverified]
    [Stream index: 10]
    [Timestamps]

123456789