【原】在TestCenter中构造ip碎片包

前些日子要使用TestCenter构造udp碎片流量,自己对udp碎片的概念都还没有弄清楚就根据自己的臆想去构造,结果可想而知,后来也是请教了同事才知道怎么构造udp碎片包,如下图:


在ip头部“IPv4 Header”中有Control Flags和Fragment Offset(int)两个字段,只要对这两个字段进行一些设置,并加上UDP Header头部就可以构造出udp碎片的流量了。那么,这是为什么呢?

在ip包头部有标记字段(Flag)和分段偏移(Fragment Offset)两个字段,这两个字段就是对应上面进行设置的字段。

 

其中,标记字段(flag)——长度为3位,第1位没有使用。第2位是不分段(DF)位,当DF位被设置为1时,表示路由器不能对数据包进行分段处理。如果数据包由于不能被分段而未能被转发,那么路由器将丢弃该数据包并向源点发送错误消息(这个功能可以在网络上用于测试MTU值)。第3位表示还有更多分段(MF)位,当路由器对数据包进行分段时,除了最后一个分段的MF位设置为0外,其他所有分段的MF位均设置为1,以便接收者直到收到MF位为0的分段为止。

分段偏移(Fragment Offset)——字段长度为13位,以8个八位组为单位,用于指明分段起始点相对于报头起始点的偏移量。由于分段到达时可能错序,所以分段偏移字段可以使接收者按照正确的顺序重组数据包。

知道这两个分段的作用也就知道了构造udp碎片包的时候为什么要那样构造了,实际上这不只是udp碎片的构造方法,而是所有ip碎片的构造方法。

下面是用抓包工具抓取的udp碎片包:其中,分段偏移(Fragment Offset)为构造的四倍。

 

转载于:https://www.cnblogs.com/iwalkfreely/p/4162342.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值