我正在我的网络应用程序上试验 OpenSSL,我想测试发送的数据是否被加密并且不能被窃听者看到。
您可以使用哪些工具进行检查?这可以以编程方式完成,以便可以放在单元测试中吗?
我正在我的网络应用程序上试验 OpenSSL,我想测试发送的数据是否被加密并且不能被窃听者看到。
您可以使用哪些工具进行检查?这可以以编程方式完成,以便可以放在单元测试中吗?
openssl 有一个 s_client,它是一个快速而肮脏的通用客户端,可用于测试服务器连接。它将显示服务器证书和协商的加密方案。
我发现本指南非常有帮助。以下是他使用的一些工具:
$ 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
查看钢丝鲨http://www.wireshark.org/
和 tcp 转储http://en.wikipedia.org/wiki/Tcpdump
不确定将这些集成到单元测试中。他们会让你在一个非常低的层次上看到网络级别发生的事情。
也许对于单元测试,确定流看起来像未加密并确保加密流不相似
Franci Penov 回答了我的一个问题“发送到网站的日志帖子参数”,建议我看看 Fiddler:http ://www.fiddler2.com/fiddler2/
如果您有兴趣查看 HTTP 请求,我试过了,它运行良好。:)
是的 - Wire Shark ( http://www.wireshark.org/ ) 非常酷(过滤器、报告、统计数据)。
至于测试,您可以将其作为集成测试的一部分进行(wireshark 中有一些命令行选项)
为了快速检查,您可以使用Wireshark(以前称为 Ethereal)查看您的数据是否以纯文本格式传输。
如前所述http://www.wireshark.org/,您还可以使用cain & 能够将流量重定向到第三台机器并从那里对协议进行任何处理。