我正在网络应用程序上试验OpenSSL,我想测试发送的数据是否已加密,窃听者无法看到。
您可以使用哪些工具进行检查?这可以通过编程方式完成,以便可以放在单元测试中吗?
答案 0 :(得分:16)
openssl has an s_client,这是一个快速而又脏的通用客户端,可用于测试服务器连接。它将显示服务器证书和协商加密方案。
答案 1 :(得分:9)
我发现this guide非常有帮助。这些是他使用的一些工具:
$ 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
答案 2 :(得分:7)
和tcp dump http://en.wikipedia.org/wiki/Tcpdump
不确定将这些集成到单元测试中。它们将让您了解网络级别的最低级别。
也许单元测试确定流看起来像未加密的并确保加密流不相似
答案 3 :(得分:4)
Franci Penov回答了我的一个问题“Log Post Parameters sent to a website”,建议我看看Fiddler:http://www.fiddler2.com/fiddler2/
如果您对查看HTTP请求感兴趣,我尝试了它并且效果很好。 :)
答案 4 :(得分:1)
是的 - Wire Shark(http://www.wireshark.org/)非常酷(过滤器,报告,统计数据)。
至于测试,您可以将其作为集成测试的一部分(wireshark中有一些命令行选项)
答案 5 :(得分:0)
要快速检查,您可以使用Wireshark(以前称为Ethereal)查看您的数据是否以纯文本格式传输。
答案 6 :(得分:0)
正如之前提到的http://www.wireshark.org/,您还可以使用cain & able将流量重定向到第三台计算机,并从那里开始协议。