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包头部信息
- 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