前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NETBIOS主机名编码算法

NETBIOS主机名编码算法

作者头像
WeaponX
发布2018-05-04 15:27:22
2.4K0
发布2018-05-04 15:27:22
举报
文章被收录于专栏:BinarySec

最近在看SMB协议,在自己构造数据包的时候发现了一个问题。

经过查阅资料发现NETBIOS对主机名的编码方式如下:

1.将字符补齐到16字节,不够的用空格补 2.将每个字符拆成高4bit和低4bit 3.再用0x41就是A加上这个值

举个例子abcd的编码流程: 1.补空格到16字节

"abcd "

2.将每个字符拆开

拆分前0x61 0x62 0x63 0x64 0x20 0x20 0x20 0x20 0x20 ...拆分后0x6 0x1 0x6 0x2 0x6 0x3 0x6 0x4 0x2 0x0 0x2 0x0

3.用0x41加上这个值

0x47 0x42 0x47 0x43 0x47 0x44 0x47 0x45 0x43 0x41 ...GBGCGDGECA

自己用python实现了一下

def encode(src): src = src.ljust(16,"\x20") names = [] for c in src: char_ord = ord(c) high_4_bits = char_ord >> 4 low_4_bits = char_ord & 0x0f names.append(high_4_bits) names.append(low_4_bits) res = "" for name in names: res += chr(0x41+name) return res

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档