Расшифровать имя Netbios Python


person user1473508    schedule 30.11.2012    source источник


Ответы (1)


Используйте эту функцию (взято из исходного кода dpkt ):

def decode_name(nbname):
    """Return the NetBIOS first-level decoded nbname."""
    if len(nbname) != 32:
        return nbname
    l = []
    for i in range(0, 32, 2):
        l.append(chr(((ord(nbname[i]) - 0x41) << 4) |
                     ((ord(nbname[i+1]) - 0x41) & 0xf)))
    return ''.join(l).split('\x00', 1)[0]

So:

>> decode_name(Netbios_Name).strip()
'TESDTDDSSS'
person dusan    schedule 30.11.2012
comment
Спасибо, я видел это раньше, но использовать его таким образом означало бы копировать их код. - person user1473508; 01.12.2012
comment
И включить эту библиотеку в ваше приложение можно? (from dpkt.netbios import decode_name) - person dusan; 01.12.2012
comment
Я пытаюсь создать программу с открытым исходным кодом, которая не требует внешнего модуля! Но спасибо за ваше предложение, ценю :) - person user1473508; 01.12.2012