Как перехватить связь между защищенным SSL веб-сервисом Metro и клиентом WCF? - PullRequest
1 голос
/ 12 сентября 2011

Среда : NetBeans 7.0.1, GlassFish 3.1

Я хочу прослушать связь между клиентом WCF (.NET Framework 4) и веб-службой Metro (2.1.1), а затем проверить сообщения, чтобы убедиться, что все так, как я хочу. Веб-сервис использует Transport Security (SSL). Я уже знаю о Fiddler , но у меня не было никакого успеха, используя его; был виден только трафик браузера HTTPS. Есть ли способ настроить Fiddler для захвата трафика между моими службами? Есть ли другой способ?

UPDATE

Я пытался запустить клиент и сервер на разных машинах, а затем использовать Fiddler, но безуспешно. Я пытался использовать Wireshark для захвата трафика, но безуспешно работал на локальном хосте. Если бы я попробовал их на разных машинах, все, что я мог видеть, это обмен данными по протоколу TCP между службами.

На localhost + Wireshark счетчик пакетов рядом с интерфейсами остался прежним, однако я много раз звонил в службу.

UPDATE2

Пытался настроить прокси для NetBeans вручную в настройках, и программно, но безуспешно:

System.setProperty("http.proxyHost", "localhost"); 
System.setProperty("http.proxyPort", "8888"); 
System.setProperty("https.proxyHost", "localhost"); 
System.setProperty("https.proxyPort", "8888"); 

Пытался запустить GlassFish с этими параметрами JVM, но нет :(:

<jvm-options>-Dhttp.proxyHost=localhost</jvm-options>
<jvm-options>-Dhttp.proxyPort=8888</jvm-options>
<jvm-options>-Dhttps.proxyHost=localhost</jvm-options>
<jvm-options>-Dhttps.proxyPort=8888</jvm-options>

Ответы [ 6 ]

1 голос
/ 24 сентября 2011

Использование http://portswigger.net/burp/ У него есть прокси. Прокси можно использовать для просмотра http трафика. Он также может отображать трафик SSL, генерируя самоподписанный сертификат на лету. Вам необходимо импортировать сгенерированный сертификат в хранилище ключей Java на клиенте jax-ws. Убедитесь, что вы включили «Поддержка невидимого прокси для клиентов, не поддерживающих прокси»

1 голос
/ 19 сентября 2011

вы можете настроить метро для вывода сообщений SOAP, информация здесь .лично я использую charles proxy , чтобы посмотреть обмен мыла.вы настраиваете прокси java, используя системные свойства в вашем "update2", работает очень хорошо.

1 голос
/ 12 сентября 2011

В качестве альтернативы Fiddler, если вы управляете клиентом WCF, вы можете включить Регистрация сообщений WCF , и он сохранит все незашифрованные сообщения SOAP в журнале трассировки.Ведение журнала может быть включено в файле app.config, поэтому вам даже не нужно перестраивать приложение, чтобы включить или отключить ведение журнала.

0 голосов
/ 26 сентября 2011

Один из подходов, которые я успешно попробовал, состоит в том, чтобы убедиться, что используется SSLv2 (в отличие от SSLv3), а затем использовать Wireshark , как описано на странице SSL на Wiki Warkishark * 1004. *, но лучше на Страница поддержки Citrix "Как расшифровать трафик SSL и TLS с помощью Wireshark" . Это работает путем предоставления Wireshark закрытого ключа SSL-сертификата сервера, чтобы он мог расшифровать диалог.

Чтобы включить SSLv2 в вашем сценарии, кажется, достаточно установить -Dhttps.protocols=SSLv2Hello на вашей серверной JVM, но я сгуглил это вместе. (См., Например, вопрос «Почему я получаю javax.net.ssl.SSLException» на странице устранения неполадок Java 1.4.2 и части на https.protocols в JavaTM Secure Справочное руководство по расширению сокета (JSSE) .) Я сам не выполнил эту часть, и не могу найти четкую документацию по этому вопросу.

(PS В моем случае, когда я расшифровывал трафик SSL .NET-к-.NET, я подумал, что это был переход к SSLv2, который сделал трафик читабельным для Wireshark. Однако это сообщение в блоге предполагает, что я одновременно переключался с шифра Диффи-Хеллмана на не-DH.)

0 голосов
/ 24 сентября 2011

Может быть WebScarab - это то, что вам нужно.Существует множество руководств по анализу трафика ssl, например , что .

0 голосов
/ 20 сентября 2011

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

Вы можете скачать трейл по номеру http://www.tamos.com/products/commview/ и посмотреть, работает ли он для вас.

...