24

我正在我的网络应用程序上试验 OpenSSL,我想测试发送的数据是否被加密并且不能被窃听者看到。

您可以使用哪些工具进行检查?这可以以编程方式完成,以便可以放在单元测试中吗?

4

7 回答 7

19

openssl 有一个 s_client,它是一个快速而肮脏的通用客户端,可用于测试服务器连接。它将显示服务器证书和协商的加密方案。

于 2008-09-29T09:35:21.197 回答
14

我发现本指南非常有帮助。以下是他使用的一些工具:

$ 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

于 2015-09-09T09:08:34.467 回答
10

查看钢丝鲨http://www.wireshark.org/

和 tcp 转储http://en.wikipedia.org/wiki/Tcpdump

不确定将这些集成到单元测试中。他们会让你在一个非常低的层次上看到网络级别发生的事情。

也许对于单元测试,确定流看起来像未加密并确保加密流不相似

于 2008-09-29T09:21:39.590 回答
4

Franci Penov 回答了我的一个问题“发送到网站的日志帖子参数”,建议我看看 Fiddler:http ://www.fiddler2.com/fiddler2/

如果您有兴趣查看 HTTP 请求,我试过了,它运行良好。:)

于 2008-09-29T09:38:12.217 回答
1

是的 - Wire Shark ( http://www.wireshark.org/ ) 非常酷(过滤器、报告、统计数据)。

至于测试,您可以将其作为集成测试的一部分进行(wireshark 中有一些命令行选项)

于 2008-09-29T09:28:39.497 回答
0

为了快速检查,您可以使用Wireshark(以前称为 Ethereal)查看您的数据是否以纯文本格式传输。

于 2008-09-29T09:22:20.523 回答
0

如前所述http://www.wireshark.org/,您还可以使用cain & 能够将流量重定向到第三台机器并从那里对协议进行任何处理。

于 2008-09-29T09:38:14.260 回答