«сервер не отвечает» в http-сэмплере JMeter (связанном с таймерами), анализируемом Wireshark - PullRequest
0 голосов
/ 11 ноября 2019

Я наблюдаю "странное" поведение сети. Каждый четный http-запрос, отправленный JMeter как часть потока, теряется («сервер не смог ответить»)Ошибка наблюдается при использовании constant timer и не наблюдается при использовании constant throughput timer, когда каждый из них приводит к примерно одному HTTP-запросу в секунду. Установка задержки в 2 секунды между запросами приводит к исчезновению ошибки (возможно, истекает время ожидания), затем число строк в журнале Wireshark увеличивается с 29 до 51. Таким образом, один путь с одинаковой частотой не приводит к ошибкам, а другой - к 100%. Проблема не так очевидна в других настройках, и я хочу использовать эту настройку, чтобы найти основную причину проблемы.

Поскольку данные внутренней сети и т. Д. Носят деликатный характер, я не думаю, что могу поделиться полными журналами Wireshark. На главном экране Wireshark визуальная разница между успешным запуском и неудачным начинается со времени для второго запроса (значительный разрыв на временной шкале до этого), когда в случае успеха мы отправляем данные, но в неудачном мы получаем пакет Encrypted Alert. Я не смог найти различий в данных, отправляемых со стороны клиента, в пакетах непосредственно перед такой разницей путем ручного просмотра содержимого пакетов. Задача для меня новая и очень техническая, поэтому даже когда я нашел несколько постов, связанных с Encrypted Alert, я не смог применить их к моей ситуации. Пожалуйста, расскажите, какая дополнительная информация от Wireshark и т. Д. Необходима, чтобы найти причину проблемы и выяснить, в чем состоит различие в том, как клиент отправляет запросы в обоих случаях. См. Экраны wireshark, различия начинаются со строки 19:

не удалось 2-й http: failed 2nd http успешно оба http: successful both http

1 Ответ

0 голосов
/ 12 ноября 2019

Чтобы расшифровать трафик с помощью Wireshark, вам необходимо:

  1. Получить закрытый ключ RSA для тестируемого вами сайта
  2. Передайте закрытый ключ RSA в Wireshark

В большинстве случаев было бы намного проще использовать механизмы отладки JMeter и Java, например:

  1. Добавьте следующую строку в system.properties file:

    javax.net.debug=all
    

    , таким образом вы получите много информации о рукопожатиях SSL / TLS, используемых сертификатах и ​​т. Д. В STDOUT

  2. Раскомментировать (или добавить) следующую строку в log4j2.xml

    <Logger name="org.apache.http" level="debug" />
    

    таким образом, вы будетеполучить уровень детализации Wireshark для каждого входящего и исходящего сетевого пакета

...