2015-09-26 3 views
0

У меня есть скрипт Python, который преобразует файлы в шестнадцатеричную строку. Теперь мне нужно преобразовать эти строки в файл pcap. Шестая строка после преобразования из png-файла составляет около 174 страниц файла Word. Код, который я использую для создания строки:Как преобразовать шестнадцатеричную строку в pcap-файл с помощью Python?

filename = 'test.png' 
with open(filename, 'rb') as f: 
img = f.read() 
print(binascii.hexlify(img)) 

Итак, можно ли даже сделать такой конвертер?

+0

Что именно вы пытаетесь сделать? В чем проблема, которую вы решаете здесь? –

+0

Я пытаюсь сделать программу сканирования, которая проверит png-файлы и покажет вредоносный код, если такой код внутри. – iacm

+0

Так что это связано с pcap? –

ответ

1

Вы можете использовать инструмент инструмент text2pcap (wireshark tool)

Это пример для функции, которые используют этот инструмент:

def string_to_pcap_file(packet_string, output_pcap_file): 
    cmd = "echo 0000 " + packet_string + " >> tmp.txt" 
    os.system(cmd) 
    cmd = "text2pcap " + "tmp.txt " + output_pcap_file 
    os.system(cmd) 
    os.system("rm tmp.txt") 

mac_da = '00 11 22 33 44 55 ' 
mac_sa = '55 55 55 55 55 55 ' 
vlan = '81 00 11 22 ' 
ether_type = '08 00 ' 
data = '45 00 00 2a 04 d2 00 00 7f 06 36 fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ' 
temp_str = mac_da + mac_sa + ether_type + data 

string_to_pcap_file(temp_str, 'new_pcap_file.pcap')