Я могу захватить пакеты с помощью wirehark, но я не могу декодировать поток во что-нибудь понятное. Эта ошибка говорит о том, что, возможно, это невозможно в SQL Server 2005 или новее ... https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3098, но несколько человек из Stack Overflow заявили, что это был хороший метод в ответах на этот вопрос: How to SQL Server traffic is encrypted?. Любая помощь оценивается.Как я могу декодировать трафик SQL Server с помощью wirehark?
ответ
Вопрос, на который вы ссылаетесь, заключается в том, как доказать, что трафик зашифрован.
Таким образом, они использовали wirehark, чтобы показать, что вы не могли его прочитать.
Шифрование было слабым на более ранних версиях SQL-сервера, но я не думаю, что легко расшифровывать трафик SQL Server 2005.
Wireshark декодирует и показывает полученные данные, когда понимает протокол (и слой). Это означает, что захваченные данные не указаны. Если данные введены в действие (SSL, т.е.), WS будет показывать только сообщения SSL и необработанные данные.
Это неправильно, поскольку используемый MS-SQL-протокол SSL/TLS внутри самого протокола не на самом внешнем слое, что довольно часто встречается. Так что это неправильно в этом случае и не укажет правильный ответ, если вы ищете ssl handshakes - в этом случае никогда не будет! – dalini
Редактировать (2017-05-02): Сетевой монитор Microsoft - был заменен Microsoft Message Analyzer - который служит для этой же цели. См. Также комментарий ниже этого ответа или ответ далее о том, как его использовать!
Оригинал Ответ:
Существует еще один очень недооцененный инструмент от самой Microsoft: "Microsoft Network Monitor. В основном это очень похоже на wirehark, за исключением того, что некоторые конкретные протоколы MS имеют лучшую поддержку синтаксического анализа и визуализации, чем сама wirehark, и, очевидно, она будет работать только под окнами ;-).
Инструмент довольно старый и выглядит заброшенным (пока не был представлен более новый выпуск), но по-прежнему выполняет хорошую работу, и грамматика для определения новых протоколов довольно аккуратная/интересная - так что это все еще обладает большой властью для будущего.
Анализ Пример - Запись фильтруется для TDS - так что другие пакеты discared основном:
Это также верно для соединений SQL Server. MNM может даже визуализировать результаты, идущие по проводу - довольно аккуратно. Тем не менее wirehark, как упоминалось выше, будет достаточным для проверки шифрования и применения сертификатов на самом проводе. Значит, он полностью понимает TDS-Protocoll.
Обработка TLS
также с расширением (так называемые эксперты) «NmDecrypt» и правых сертификатов (в том числе закрытых ключей) - можно расшифровать protocolls - очень хорошо для TDS, который использует TLS Цзяшань TDS - неудивительно, что никто не реализовал это еще как полностью поддерживаемый protocoll для wirehark;)
До сих пор - относительно MSSQL-трафика - или чтобы быть более точным TDS-протоколом, это лучший инструмент, который я придумал до сих пор. Wireshark классный, но в этом случае MNM «лучше». Попробуйте!;)
Ссылки для инструментов:
- Microsoft Network Monitor: http://www.microsoft.com/en-us/download/details.aspx?id=4865
- NMDecrypt: http://nmdecrypt.codeplex.com/releases/view/85581
MS Network Monitor был заменен на [Microsoft Message Analyzer] (https://www.microsoft.com/en-us/download/details.aspx?id=44226), и он действительно красиво расшифровывает TLS в TDS (NMDecrypt не требуется). –
Не Wireshark, но для меня Microsoft Message Analyzer работал отлично подходит для этого.
Чтобы получить все Переданные команды
- начать новый сеанс
- Добавить Живой трассировку в качестве источника данных
- Выбрать сценарий (я выбрал Локальные сетевые интерфейсы)
- Enter выражение фильтра сеанса, например * address == 10.1.2.129, чтобы фильтровать только трафик на ваш сервер sql.
- Нажмите кнопку Пуск
- Щелкните правой кнопкой мыши на заголовке столбца в таблице массажа и выбрать Добавить столбцы ...
- Добавить TDS> SQLBatch> SqlBatchPacketData> SQLText
Это должно дать вам что-то например,
К сожалению, на данный момент автоматическая прокрутка отсутствует, но вы можете сортировать по метке времени и появятся новые запросы вверху.
Но вопрос в том, как они доказали, что он был зашифрован? Вам нужно декодировать поток TDS, и это не очевидно (по крайней мере для меня), как это сделать в wirehark. – Pete