Как протестировать SSL-соединение?
Я экспериментирую с OpenSSL в своем сетевом приложении, и я хочу проверить, зашифрованы ли данные и не могут быть замечены подслушивающим устройством.
Какие инструменты вы можете использовать для проверки? Может ли это быть сделано программно, чтобы его можно было разместить в unit test?
Ответы
Ответ 1
проверить проводную акулу http://www.wireshark.org/
и tcp dump http://en.wikipedia.org/wiki/Tcpdump
Не уверен, что они интегрируют их в модульные тесты. Они позволят вам взглянуть на очень низкий уровень происходящего на сетевом уровне.
Возможно, для unit test определите, что поток выглядит как незашифрованный, и убедитесь, что зашифрованный поток не похож на
Ответ 2
openssl имеет s_client, который является быстрым и грязным родовым клиентом, который вы можете использовать для проверки соединения с сервером. Он покажет сертификат сервера и согласованную схему шифрования.
Ответ 3
Я нашел это руководство очень полезно. Вот некоторые из инструментов, которые он использовал:
$ openssl s_client -connect mail.prefetch.net:443 -state -nbio 2>&1 | grep "^SSL"
$ ssldump -a -A -H -i en0
$ ssldump -a -A -H -k rsa.key -i en0
$ ssldump -a -A -H -k rsa.key -i en0 host fred and port 443
Ответ 4
Franci Penov ответил на один из моих вопросов: Параметры отчета, отправленные на веб-сайт ", предлагая мне взглянуть на Fiddler: http://www.fiddler2.com/fiddler2/
Я попробовал, и он работает красиво, если вы заинтересованы в просмотре HTTP-запросов.:)
Ответ 5
Yeah - Wire Shark (http://www.wireshark.org/) довольно круто (фильтры, отчеты, статистика).
Что касается тестирования, вы можете сделать это как часть интеграционных тестов (в wirehark есть несколько параметров командной строки)
Ответ 6
Для быстрой проверки вы можете использовать Wireshark (ранее известный как Ethereal), чтобы увидеть, передаются ли ваши данные в текстовом виде или нет.
Ответ 7
Как упоминалось ранее http://www.wireshark.org/, вы также можете использовать cain и способным перенаправить трафик на третью машину и любым протоколом оттуда.