Wireshark会将抓取的数据包进行分层处理
分层网络协议OSI简介
OSI模型是国际标准化组织ISO创立的。这是一个理论模型,并无实际产品完全符合OSI模型。制订OSI模型只是为了分析网络通讯方便而引进的一套理论。也为以后制订实用协议或产品打下基础。
OSI模型共分七层:从上至下依次是
应用层 指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件
表示层 数据语法的转换、数据的传送等
会话层 建立起两端之间的会话关系,并负责数据的传送
传输层 负责错误的检查与修复,以确保传送的质量,是TCP工作的地方。(报文)
网络层(互联网层) 提供了编址方案,IP协议工作的地方(数据包)
数据链路层 将由物理层传来的未经处理的位数据包装成数据帧
物理层 对应网线、网卡、接口等物理设备(位)
认识wireshark数据包
在Wireshark中数据包的叫法有3个术语,分别是帧,包,段。下面通过分析一个http数据包来介绍下这三个术语。
可以看到一个http数据包有5层信息,wireshark默认没有展开这些信息。各行信息解释如下:
Frame:物理层的数据帧概况 Ethernet II: 数据链路层以太网头部帧 Internet Protocol Version 4:互联网层IP包头的信息 Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议。 Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议
下面将详细介绍每一层展开的内容。
1.物理层的数据帧概况
Frame 17357: 1394 bytes on wire (11152 bits), 1394 bytes captured (11152 bits) on interface 0 //5号帧,线路1394字节,实际捕获1394字节 Interface id: 0 (\Device\NPF_{80A557A7-2C2C-4948-B785-5F2EF0F059C8}) //接口id Encapsulation type: Ethernet (1) //封装类型 Arrival Time: Oct 15, 2015 13:36:19.637281000 中国标准时间 //捕获时期和时间 [Time shift for this packet: 0.000000000 seconds] Epoch Time: 1444887379.637281000 seconds [Time delta from previous captured frame: 0.000125000 seconds] //此包与前一包的时间间隔 [Time delta from previous displayed frame: 0.000125000 seconds] //此包与第一帧的时间间隔 [Time since reference or first frame: 161.257111000 seconds] Frame Number: 17357 //帧序号,第17357帧 Frame Length: 1394 bytes (11152 bits) //帧长度 Capture Length: 1394 bytes (11152 bits) //捕获的帧长度 [Frame is marked: False] //此帧是否做了标记:否 [Frame is ignored: False] //此帧是否被忽略:否 [Protocols in frame: eth:ethertype:ip:tcp:http] //此帧内封装的协议层次结构 [Number of per-protocol-data: 1] [Hypertext Transfer Protocol, key 0] [Coloring Rule Name: HTTP] //着色标记的协议名称 [Coloring Rule String: http || tcp.port == 80 || http2] //着色规则显示的字符串
2.数据链路层以太网帧头部信息
Ethernet II, Src: HuaweiTe_a1:89:63 (4c:1f:cc:a1:89:63), Dst: CompalIn_22:31:d0 (f0:76:1c:22:31:d0) Destination: CompalIn_22:31:d0 (f0:76:1c:22:31:d0) //目标MAC地址 Source: HuaweiTe_a1:89:63 (4c:1f:cc:a1:89:63) //源MAC地址 Type: IP (0x0800)
3.互联网层IP包头部信息
Internet Protocol Version 4, Src: 183.61.51.166 (183.61.51.166), Dst: 10.7.132.246 (10.7.132.246) 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: 754 //IP包的总长度 Identification: 0xa18e (41358) //标志字段 Flags: 0x02 (Don't Fragment) //标记字段 Fragment offset: 0 //分的偏移量 Time to live: 56 //生存期TTL Protocol: TCP (6) //此包内封装的上层协议为TCP Header checksum: 0x2497 [validation disabled] //头部数据的校验和 Source: 183.61.51.166 (183.61.51.166) //来源IP地址 Destination: 10.7.132.246 (10.7.132.246) //目标IP地址
4.传输层的数据段头部信息
Transmission Control Protocol, Src Port: 80 (80), Dst Port: 50362 (50362), Seq: 1025, Ack: 447, Len: 714 Source Port: 80 (80) //源端口号 Destination Port: 50362 (50362) //目标端口号 Sequence number: 1025 (relative sequence number) //序列号(相对序列号) [Next sequence number: 1739 (relative sequence number)] //下一个序列号 Acknowledgment number: 447 (relative ack number) //确认序列号 Header Length: 20 bytes //头部长度 .... 0000 0001 1000 = Flags: 0x018 (PSH, ACK) //TCP标记长度 Window size value: 5896 //流量控制的窗口大小 Checksum: 0x915b [validation disabled] //TCP数据段的校验和