开发者社区> 问答> 正文

IPv4数据库包计算问题

下面是用tcpdump抓到的IPv4包

IP 10.31.90.106.37600 > 10.31.90.132.36000: Flags [S], seq 1592276107, win 14600, options [mss 1460,sackOK,TS val 883954282 ecr 0,nop,wscale 7], length 0
        0x0000:  4510 003c 26e1 4000 4006 4a9f 0a1f 5a6a
        0x0010:  0a1f 5a84 92e0 8ca0 5ee8 348b 0000 0000
        0x0020:  a002 3908 4bbd 0000 0204 05b4 0402 080a
        0x0030:  34b0 126a 0000 0000 0103 0307

根据进制转换可知,
0x0000的十进制为0
0x0010的十进制为16
也就是说4510 003c 26e1 4000 4006 4a9f 0a1f 5a6a 这行每个字段为2字节,

但是如果运算0x4510的话,十进制值为17680,那么这个2字节是如何计算的呢?

展开
收起
a123456678 2016-06-28 11:40:00 1906 0
1 条回答
写回答
取消 提交回答
  • 对于无符号数

    17680 = 416^3 + 5 16^2 + 1 16^1 + 0 16^0
    任何进制的数都可以这样算

    Sum[ai * 基数^i,{i,0,n-1}]

    2019-07-17 19:48:07
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载