Я написал программу, которая может создать именованный канал, а затем записать в него пакеты, а затем прочитать его с помощью wirehark (создание именованного канала в качестве интерфейса -> wireshark -k -i tmp/myfifo). Ниже приведен список байтов, который был отправлен в трубу.Что такое формат libpcap?
D4 C3 B2 A104 0008 0000 00 00 0000 00 00 00FF FF 00 0001 00 00 00AA 77 9F 4790 A2 04 004d000000 4d00000000 00 00 00 00 0000 00 00 00 00 0008 004500003f00 0040 00 403A3c837f 00 00 017f 00 00 01A0 0100 0148 69 20 74 68 69 73 20 69 73 20 5061 72 76 61 74 68 69 20 66 72 6f 6d20 56 49 54 20 55 6e 69 76 65 72 7369 74 79
D4C3B2A1 0400 0800 00000000 00000000 FFFF0000 01000000
-Global заголовок AA779F47 90A20400 4d000000 4d000000
заголовок -пакета 00 00 00 00 00 0000 00 00 00 00 00 08 00
-ethernet заголовок 4500 003f 00 00 40 00 40 3A3c837f 00 00 017f 00 00 01
-ip заголовок 9B 01 00 01
-icmp заголовок 48 69 20 74 68 69 73 20 69 73 20 5061 72 76 61 74 68 69 20 66 72 6f 6d20 56 49 54 20 55 6e 69 76 65 72 7369 74 79
й, наконец, сообщение
Я попытался открытием Wireshark, отправив его шестнадцатеричный формат, а также его строковый код ASCII к интерфейсу (трубе). Но в обоих случаях, когда я открываю wirehark, он подсказывает, что это «Unrecognized libpcap format». В соответствии с форматом Libpcap в ссылки ниже, байты подставили
[1] Формат Libpcap файл по Wireshark: https://wiki.wireshark.org/Development/LibpcapFileFormat [2] код питона пример для создания PCAP файла: http://www.codeproject.com/Tips/612847/Generate-a-quick-and-easy-custom-pcap-file-using-P
Что именно должно Я посылаю так, чтобы проводники могли нюхать?
Таким же образом я послал пакеты
'D4C3B2A1 0400 0800 00000000 00000000 FFFF0000 01000000' -Global заголовка
' AA779F47 90A20400 4d000000 4d000000 '-пакет заголовка
' 00 00 00 00 00 0000 00 00 00 00 00 08 00 '-ethernet header
'4500 003f 00 00 40 00 40 3A3c837f 00 00 017f 00 00 01' -ip заголовок
'9B 01 00 01' -icmp header
и, наконец, сообщение - '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' 73 20 5061 72 76 61 74 68 69 20 66 72 6f 6d20 56 49 54 20 55 6e 69 76 65 72 7369 74 79
в то время как я дал так, что это подсказывает, что не в формате libpcap ' – PLP
Привет, пожалуйста см. отредактированный вопрос ... eventhough, я отправил на интерфейс (здесь именованный канал) в байтах wirehsark не rec ognizing it, .. и показывая ошибку как «Unrecognized libpcap format» – PLP
Пожалуйста, покажите данные, которые вы пишете в трубе, * по одному байту за раз *, что означает «показывать две шестнадцатеричные цифры за раз» - т.е. , если вы отправили байт со значением 0xD4, за которым следует байт со значением 0xC3, за которым следует байт со значением 0xB2, за которым следует байт со значением 0xA1, покажите его как 'D4 C3 B2 A1', а не как 'D4C3B2A1'. Попробуйте, например, запустить вашу программу, записав ее в '/ tmp/myfifo', а также запустив команду' od -tx1/tmp/myfifo', чтобы точно определить, какие байты записываются в '/ tmp/myfifo'. –