文件上传漏洞攻防全解析:从原理到实战的Webshell绕过与防御
2026/7/3 6:48:38
IPv4 报文头中,Type of Service(TOS)字段长度为8 位(1 字节),位于 IPv4 头部的第 2 个字节。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+在 RFC 791 中,TOS 字段被划分为两部分:
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | PRECEDENCE | D | T | R | 0 | 0 | +---+---+---+---+---+---+---+---+表示数据包的优先级,取值范围 0~7,数值越大优先级越高。
| 取值 | 名称 | 说明 |
|---|---|---|
| 000 | Routine | 普通 |
| 001 | Priority | 优先 |
| 010 | Immediate | 立即 |
| 011 | Flash | 闪速 |
| 100 | Flash Override | 闪速覆盖 |
| 101 | Critical | 关键 |
| 110 | Internetwork Control | 网间控制 |
| 111 | Network Control | 网络控制 |
这种定义允许发送方对不同业务表达不同的服务质量要求(如实时语音设 D=1,大文件传输设 T=1)。由于历史上很多路由器忽略此字段,实际应用效果有限。
RFC 2474 将这 8 位重新定义为DS(Differentiated Services,差分服务)字段,用于实现QoS(Quality of Service)。
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | DSCP | CU | +---+---+---+---+---+---+---+---+用于标识数据包所属的转发行为或Per-Hop Behavior (PHB)。
| 类型 | 说明 |
|---|---|
| CS0~CS7 | Class Selector PHBs,兼容老的 IP Precedence(前 3 位与 Precedence 对应,后 3 位为 0) |
| EF(Expedited Forwarding) | 推荐用于低丢失、低延迟、低抖动业务(如 VoIP),DSCP 值 46 |
| AFxy(Assured Forwarding) | 提供不同等级的服务保证,x 为等级,y 为丢弃优先级 |
当前未使用,保留供将来使用;在支持 ECN 的网络中,这 2 位被用作ECN(见下节)。
在支持ECN(Explicit Congestion Notification,显式拥塞通知)的网络中,TOS 字段的最后 2 位用作 ECN:
0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | DSCP | ECN | +---+---+---+---+---+---+---+---+| 值 | 含义 |
|---|---|
| 00 | 不支持 ECN |
| 01 / 10 | 支持 ECN 的终端可标记该包(ECN-Capable) |
| 11 | 发生拥塞(CE),路由器可将此位设为 11,接收端通知发送端减速 |
| 项目 | 内容说明 |
|---|---|
| 字段名称 | Type of Service(TOS)/ DS Field |
| 字段长度 | 8 bits |
| 初始用途(RFC 791) | 指定延迟、吞吐量、可靠性等处理偏好,含优先级(Precedence + D/T/R) |
| 现代用途(RFC 2474) | 用作 DSCP,实现差分服务 QoS |
| 后向兼容性 | DSCP 前 3 位对应 IP Precedence(CS0~CS7) |
| 与 ECN 的关系 | 最低 2 位可用于显式拥塞通知(RFC 3168) |
虽然 TOS/DSCP 提供了丰富的 QoS 机制,但实际网络中支持程度不一:
-Q设置 ToS,例如:ping -Q 184 <目标IP>(184 对应某 DSCP/Precedence 组合)。