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