Подтвердить что ты не робот

Как я могу декодировать трафик SQL Server с помощью wirehark?

Я могу захватить пакеты с помощью wirehark, но я не могу декодировать поток во что-нибудь понятное. Эта ошибка говорит о том, что, возможно, это невозможно в SQL Server 2005 или новее... https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3098, но несколько человек из Qaru заявили это был хороший метод в ответах на этот вопрос: Как трафик SQL Server зашифрован?. Любая помощь была оценена.

4b9b3361

Ответ 1

Изменить (2017-05-02): Microsoft Network Monitor - был заменен Microsoft Message Analyzer - который выполняет те же самые задачи. См. Также комментарий ниже этого ответа или ответ далее о том, как его использовать!


Оригинальный ответ:

Существует еще один очень недооцененный инструмент от самой Microsoft: "Microsoft Network Monitor". В основном это очень похоже на wirehark, за исключением того, что некоторые конкретные протоколы MS имеют лучшую поддержку синтаксического анализа и визуализации, чем сама wirehark, и, очевидно, она будет работать только под окнами;-).

Инструмент довольно старый и выглядит заброшенным (до сих пор он не видел более новой версии), но по-прежнему выполняет хорошую работу, и грамматика для определения новых протоколов довольно аккуратная/интересная, поэтому у этого все еще есть много возможностей для будущее. mnm 3.4 about dialog

Пример анализа - запись фильтруется для TDS - поэтому другие пакеты в основном удаляются:

Example Session for TDS (MSSQL)

Это также верно для соединений сервера sql. MNM может даже визуализировать результаты, идущие по проводу - довольно аккуратно. Тем не менее wirehark, как упоминалось выше, будет достаточным для проверки шифрования и применения сертификатов на самом проводе. Значит, он полностью понимает TDS-Protocoll.

Обработка TLS

Также с расширением (так называемые эксперты) "NmDecrypt" и правильными сертификатами (включая закрытые ключи) - можно расшифровать протоколлы - довольно приятно для TDS, который использует TLS INSIDE TDS - неудивительно - никто не имеет действительно реализовано, что все же в качестве полностью поддерживаемого протоколла для wirehark;)

До сих пор - относительно MSSQL-трафика - или чтобы быть более точным TDS-протоколом, это лучший инструмент, с которым я сталкивался до сих пор. Wireshark классный, но в этом случае MNM "лучше". Попробуйте!;)

Ссылки для инструментов:

Ответ 2

Не wirehark, но для меня Microsoft Message Analyzer отлично справился с этим.

Чтобы получить все отправленные команды

  • Запустить новый сеанс
  • Добавить Live Trace как источник данных
  • Выберите сценарий (я выбрал локальные сетевые интерфейсы)
  • Введите выражение фильтра сеанса типа * address == 10.1.2.129, чтобы фильтровать только трафик на ваш сервер sql.
  • Нажмите кнопку "Пуск"
  • Щелкните правой кнопкой мыши заголовок столбца в таблице массажа и выберите Добавить столбцы...
  • Добавить TDS > SQLBatch > SqlBatchPacketData > SQLText

Это должно дать вам что-то вроде следующего введите описание изображения здесь

К сожалению, на данный момент не выполняется автоматическая прокрутка, но вы можете сортировать по метке времени и появляться новые запросы вверху.

Ответ 3

Вопрос, на который вы ссылаетесь, заключается в том, как доказать, что трафик зашифрован.

Таким образом, они использовали wirehark, чтобы показать, что вы не могли его прочитать.

Шифрование было слабым на более ранних версиях SQL-сервера, но я не думаю, что легко расшифровывать трафик SQL Server 2005.

Ответ 4

Wireshark декодирует и показывает полученные данные при понимании протокола (и слоя). Это означает, что захваченные данные не указаны. Если данные указаны (SSL, т.е.), WS будет показывать только сообщения SSL и необработанные данные.