第七天:NBT Name Service 包格式解析
来源:互联网 发布:mac os x 10.3虚拟机 编辑:程序博客网 时间:2024/05/01 22:52
NBT Name Service虽然有17种不同的包类型,但是其组成都只有三个部分。
- A Header
- Query Records
- Resource Records
1. Name Service Headers
头部是由6个16bit的数据组成的,其组成如下。
0 NAME_TRN_ID
1 FLAGS
2 QDCOUNT
3 ANCOUNT
4 NSCOUNT
5 ARCOUNT
这里要单独的说一下FLAGS域,这个域很特别。它由下面的几个部分组成
0 1 2 3 4 5 6 7 8 9101112131415ROPCODENM_FLAGSRCODE 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
其中的OPCODE表示操作码,NM_FLAGS表示标志位,RCODE为返回码。
最后还要考虑的是大小端的问题,由于NBT使用的是网络字节序,也就是大端字节序。所以,下面这些函数是,我们转换字节序的
工具, htonl(), htons(), ntohl(), and ntohs()。特别注意SMB是使用的小端字节序。
2. Name Service Resource Records
我们通常将Resource Records部分分为三个子部分。
- the Name section
- the TTL field
- the Resource Data section
- 第七天:NBT Name Service 包格式解析
- nbt
- USB包格式解析
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- 第七天
- Android学习第七天————将数据保存为JSON格式,通过JSONObject和JSONReader来解析JSON数据
- 学习Unity3D第七天之综合例题解析。
- 大端模式和小端模式
- Oracle小技巧
- printf输出格式 收藏
- 购物车的实现方案
- printf输出格式 收藏1
- 第七天:NBT Name Service 包格式解析
- 面试题精选(87):两数组包含问题(来自微软面试题)
- Java类文件解析
- js 替换文本
- 请没有买房和买车的朋友一定认真的看一下,看后再做决定吧...
- 百度面试
- Delphi建立精确计时器
- c++运算符优先级列表
- vs2005安装opengl