2012-07-04 2 views
0

Я пытаюсь разобрать файл pwdump в python. Содержание файла PWDUMP выглядит следующим образом:Анализ pwdump-файла python

...[snip] 

Domain\TESTIN$::aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: 

Guest(current):501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: 

Guest(hist_01):501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: 

Guest(hist_02):501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: 

...[snip] 

Я хотел бы получить 2 вещи из этого:

Domain\USER (So first string before the ":") 

и фактический хэш:

"aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0" 

Я был думая о чем-то вроде этого:

import sys 

infile, outfile = sys.argv[1], sys.argv[2] 

with open(infile) as inf, open(outfile,"w") as outf: 
    line_words = (line.split('::') for line in inf) 
    outf.writelines(words[1].strip() + '\n' for words in line_words if len(words)>1) 

Но почему-то у меня только первый хеш разбор.

Любая помощь была бы принята с благодарностью!

Благодаря

ответ

1

Проблема заключается в том, что вы разделив на "::". Попробуйте разделить на ":". Только первая строка соответствует этому формату. Строки 2 и выше имеют номер между двумя : с, который склеивается с вашим алгоритмом.

Попробуйте это вместо того, чтобы (более многословным для удобства чтения):

with open(infile) as inf, open(outfile,"w") as outf: 
    for line in inf: 
     splits = line.split(":") 
     user, hash = splits[0], ":".join(splits[2:4]) 
     outf.write(hash + '\n') 

Надежда, что помогает

+0

Да, но я только получить одну часть хэша в результате: «00000000000000000000000000000000», а я ищу для полного хэша. Может быть, лучше всего использовать регулярное выражение? – user1473508

+0

Жаль, что я имел в виду; \t Да, но я получаю только часть хэша в результате: «aad3b435b51404eeaad3b435b51404ee», пока я ищу полный хеш. Может быть, лучше всего использовать регулярное выражение? Кроме того, я не получаю другие строки как-то:/ – user1473508

+0

Ответ обновлен. – inspectorG4dget