wireshark 2.2.5 - как установить предпочтение ESP из командной строки

Я нахожу способ установить предпочтение ESP, то есть ключи шифрования, ключи аутентификации, из командной строки. Я пробовал команду ниже, но wireshark всегда говорит, что предпочтения не совпадают с моими.

tshark -i - -Y "sip||esp" -d tcp.port=="5000-65535",sip -d udp.port=="5000-65535",sip -T text -l -O "sip, esp" -o esp.enable_null_encryption_decode_heuristic:true -o esp.enable_authentication_check:true -o esp.enable_encryption_decode:true -o "esp.sa_1:IPv4|*|*|*" -o "esp.encryption_algorithm_1:AES-CBC [RFC3602 ]" -o "esp.encryption_key_1:0xC5DA46E7FF43C8D6C0DD3A2707E42E05" -o "esp.authentication_algorithm_1:HMAC-MD5-96 [RFC2403]" -o "esp.authentication_key_1:0xE5A349FCBAD409D15C7066702CDt2:\BAxd40:\BAxd40

Всегда говорят, что флаг "esp.sa_1" неизвестен. То же, что и esp.encryption_algorithm_1 и esp.authentication_algorithm_1 и т. д.

Я искал и думаю, что esp.sa_1 доступен только в более старой версии wireshark.

Кто-нибудь знает, как сделать эти предпочтения на wireshark 2.2.5?

Большое спасибо!


person Viet-Anh Dinh    schedule 08.03.2017    source источник


Ответы (1)


К сожалению, вики-страница Настройки ESP устарела. Настройки ESP были изменены на UAT (таблицу доступа пользователей), поэтому вам проще создать файл esp_sa вместо указания индивидуальных настроек. Вероятно, самый простой способ узнать формат файла — сначала создать его в Wireshark, но из исходный код, вы можете видеть, что каждая запись содержит следующую информацию:

  • Используемый протокол
  • Адрес источника
  • Адрес назначения
  • СПИ
  • Алгоритм шифрования
  • Ключ шифрования
  • Алгоритм аутентификации
  • Ключ аутентификации

Например, запись может выглядеть так:

"IPv4","","","","AES-CBC [RFC3602]","0xC5DA46E7FF43C8D6C0DD3A2707E42E05","HMAC-MD5-96 [RFC2403]","0xE5A349FCBAD409D15C766702CD400BA4"

Но если вы действительно хотите указать эти параметры в командной строке, а не создавать или изменять файл esp_sa, вы можете это сделать. Из раздела 10.2 запустите Wireshark из командной строки Руководства пользователя Wireshark:


Таблицы доступа пользователей можно переопределить с помощью «uat», за которым следует имя файла UAT и допустимая запись для файла:

wireshark -o "uat:user_dlts:\"User 0 (DLT=147)\",\"http\",\"0\",\"\",\"0\",\"\""

В приведенном выше примере пакеты с каналом передачи данных libpcap типа 147 будут анализироваться как HTTP, как если бы вы настроили его в настройках протокола DLT_USER.


Итак, в вашем случае вы бы использовали что-то вроде этого:

Юникс

tshark.exe -o 'uat:esp_sa:"IPv4","","","","AES-CBC [RFC3602]","0xC5DA46E7FF43C8D6C0DD3A2707E42E05","HMAC-MD5-96 [RFC2403]","0xE5A349FCBAD409D15C766702CD400BA4"'

Windows

tshark.exe -o "uat:esp_sa:\"IPv4\",\"\",\"\",\"\",\"AES-CBC [RFC3602]\",\"0xC5DA46E7FF43C8D6C0DD3A2707E42E05\",\"HMAC-MD5-96 [RFC2403]\",\"0xE5A349FCBAD409D15C766702CD400BA4\""
person Christopher Maynard    schedule 08.03.2017
comment
Привет Кристофер. Спасибо, что оставили ответ. Я попробовал ваше предложение, но не повезло. От tshark больше нет ошибки, но кажется, что ключ шифрования не применяется. Я использую тот же ключ, сохраняя как файл esp_sa, и результат успешен. Но при использовании строки cmd пакет не декодируется. Я публикую свою команду в следующем комментарии. Пожалуйста, посмотрите и поправьте меня, если что-то пойдет не так. Я захватываю из Stdout, в котором пакеты пересылаются с устройства Android на мой ПК с Win64. Спасибо. - person Viet-Anh Dinh; 09.03.2017
comment
C:\Users\SEV_USER›adb forward tcp:1122 tcp:1122 && nc 127.0.0.1 1122 | tshark -i - -Y sip||esp -d tcp.port==5000-65535,sip -d udp.port==5000-65535,sip -T text -l -O sip,esp -o esp.enable_null_encryption_decode_heuristic: true -o esp.enable_authentication_check:true -o esp.enable_encryption_decode:true -o uat:esp_sa:\IPv6\,\\,\\,\\,\AES-CBC [RFC3602]\,\0xAA642911F9A34024A5BFB1B8DDF6FD97\, \HMAC-MD5-96 [RFC2403]\,\0x2452952DA20AF3987224A818BD6FC6C8\ › D:\test\dump2.txt - person Viet-Anh Dinh; 09.03.2017
comment
если вы хотите узнать больше о том, что я пытаюсь сделать, обратитесь к этому вопросу >tshark - одновременный захват и расшифровка ESP-пакетов в режиме реального времени - person Viet-Anh Dinh; 09.03.2017
comment
Когда он работал с файлом esp_sa, вы использовали Wireshark или tshark? - person Christopher Maynard; 09.03.2017
comment
Хорошо, мне интересно, использовали ли вы Wireshark и что tshark может потребоваться запустить с параметром -2; однако вы не можете выполнять двухпроходный анализ при чтении из канала. В любом случае, поскольку вы успешно использовали tshark с файлом esp_sa, очевидно, что-то еще не так с попыткой tshark прочитать, обработать или применить параметр UAT, но я не знаю, что это может быть. Можете ли вы опубликовать файл захвата пакетов где-нибудь, возможно, в cloudshark, dropbox и т. д.? - person Christopher Maynard; 10.03.2017
comment
Привет. Простите за поздний ответ. Могу я узнать, что вы имеете в виду под файлом захвата пакетов? Файл pcap? - person Viet-Anh Dinh; 14.03.2017
comment
В основном да; однако файл pcap — это всего лишь один тип файла захвата пакетов. Существует много других форматов файлов, поэтому я использовал более общий термин для его описания. - person Christopher Maynard; 15.03.2017
comment
Кстати, если вы все еще не можете заставить tshark прочитать параметр командной строки uat:esp_sa, я бы рекомендовал вам отправить отчет об ошибке Wireshark для этого. Он должен работать. См.: bugs.wireshark.org/bugzilla. - person Christopher Maynard; 15.03.2017
comment
Привет. Спасибо за предложение. Вместо этого мне удалось использовать файл esp_sa. - person Viet-Anh Dinh; 16.03.2017