- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试了解 IPv6 的 UDP 校验和计算方法。
我有这个数据包:
IPv6 Header is -- 60 00 00 00 00 0c 11 fd 21 00 00 00 00 00 0001 ab cd 00 00 00 00 00 01 fd 00 00 00 00 00 00 00 00 00 00 0000 00 01 60
UDP Header is -- 26 92 26 92 00 0c 7e d5
Data is-- 12 34 56 78
最佳答案
万一这个问题还没有回答,为了他人的利益。
您的 IPv6 数据包 UDP 数据包(十六进制格式)
60 00 00 00 . 00 34 11 01 . 21 00 00 00 - `....4..!...
00 00 00 01 . AB CD 00 00 . 00 00 00 01 - ............
FD 00 00 00 . 00 00 00 00 . 00 00 00 00 - ............
00 00 01 60 . 26 92 26 92 . 00 0C 7E D5 - ...`&.&...~.
12 34 56 78 - .4Vx
计算 UDP header 中校验和 (0x7ED5) 的步骤。所有数字都以十六进制格式表示。
Source IP: 21 00 00 00 . 00 00 00 01 . AB CD 00 00 . 00 00 00 01
Dest IP: FD 00 00 00 . 00 00 00 00 . 00 00 00 00 . 00 00 01 60
Protocol : 00 11 (UDP)
Proto Len: 00 0C (UDP Header + Body)
您的伪 header 的总和是:
SUM_PHDR = 0x2100 + 0x0000 + ... + 0x0011 + 0x000C
= 0x1CB4C
Step 2) 计算 UDP Header + Data 的 16 位和(不包括校验和)
UDP Hdr : 26 92 26 92 . 00 0C 00 00
UDP Body : 12 34 56 78
您的 UDP 部分的总和是:
SUM_BODY = 0x2692 + 0x2692 + ... + 0x5678
= B5DC
步骤 3) 计算总计
SUM_TOTAL = SUM_PHDR + SUM_BODY
= 0x1CB4C + 0xB5DC
SUM_TOTAL = 0x28128 (or 0x00028128)
第 4 步)从总和中计算 16 位总和(因为它 > 0xFFFF)
SUM_16BIT = 0x0002 + 0x8218
= 0x821A
步骤 5) 计算 16 位 Sum 的补码
CHECKSUM = 0x821A Xor 0xFFFF
= 0x7ED5
你的校验和是 0x7ED5
关于IPv6数据包的UDP校验和计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858973/
如何在 PHP 中生成 CRC-8 校验和? 最佳答案 function crcnifull ($dato, $byte) { static $PolyFull=0x8c; for ($i=0
我正在编写代码来使用 32 位无符号整数计算 CRC16。当尝试打印执行 CRC 操作的 XOR 函数的返回值时,它总是打印 0。我尝试了各种调试方法,例如打印语句,但是,我似乎无法弄清楚! 这是我的
ThinkPHP3.2.3验证码显示、刷新、校验 ,具体如下: 显示验证码 首先在Home/Controller下创建一个公共控制器PublicController
我想将自定义验证绑定(bind)到 TimePicker 自定义控件,但下面的代码显示“无法将内容添加到 TimePicker 的对象类型。”。
目录 Spring 校验(validator,JSR-303)实现 什么是JSR-303规范 与Spring MVC结合 实体类添加
导包和配置 导入 JSR 303 的包、hibernate valid 的包 ?
我是一名优秀的程序员,十分优秀!