Wireshark能够解密IKEv2,如果你selectPreferences,selectISAKMP,它提供一个IKEv2解密表,它需要发起者和响应者的SPI,encryption和authentication密钥(SK_ei,SK_er,SK_ai,SK_ar)以及encryption和authenticationalgorithm。 所有这些使用Strongswan的charondebugging日志都是可用的。
我有一个工作IKEv2 SA,可以传输ESPstream量。
然而,每次我尝试使用Wireshark解密时,都会产生不连贯的解密结果,例如包含166字节的数据包中的65000字段长度,并报告畸形数据包。
我也无法解密ESP数据包。 谷歌search说这是可能的,只是使用“IP xfrm状态”的信息,但Wireshark或者解密没有或者再次产生无效的结果。
显然我错过了什么,有没有人做到这一点?
我在Ubuntu 12.04上使用Wireshark 1.8.3,StrongSwan 5.0.1。
谢谢,RichK
我有完全相同的问题,但最终设法解决它。 我的基本假设是Wireshark能够解码IKEv2消息(参见: http : //www.wireshark.org/lists/wireshark-bugs/200904/msg00114.html )。 不确定是否支持所有完整性和encryption方法。
我的设置是Windows 7客户端和Strongswan服务器。 如果您使用最强的日志级别configurationStrongswan,而所有必需的密钥都包含在syslog文件中。 search关键字“Sk_ei”,“Sk_er”,“Sk_ai”和“Sk_ar”(文件中有几个实例,我在日志文件中find了最新的事件),你必须用Wireshark捕获stream量,然后在Wireshark IKEv2 decrpytion表中input正确的值,这是非常重要的,你input正确的长度和正确的格式的值,如消除空格或冒号(:)如果你从系统日志或wireshark跟踪。
以下是在解密表中使用的值的准则:
启动器SPI =启动器cookie(在wireshark消息中find – 未编码)响应者SPI =响应者cookie(在wireshark消息中find – 未编码)
encryptionalgorithm:可以在Wireshark IKE SA中find初始化响应,如果你不确定我使用了AES-CBC-256,即SK-ei和SK_er必须有64个hex数字
完整性algorithm:可以在Wireshark IKE SA初始化响应中find,如果您不确定我使用了HMAC-SHA1-96,即SK-ai和SK_ar必须有40个hex数字
必须将Sk_ei,SK_er,SK_ar和SK_ai值从Strongswan日志文件复制并粘贴到解密表中。 在我的例子中,64位密钥(SK_ei,SK_er)分布在日志文件的两行中。
如果一切正常完成,则Wireshark应显示解码的消息。
希望这可以帮助!
也许你input了错误的键。
AFAIK,其中有2个:
我总是使用ip xfrm state键中的密钥来解密Wireshark中的ESPstream量。