OpenVPN解密(一)

来源:互联网 发布:数据库三个范式 编辑:程序博客网 时间:2024/05/29 10:56

OpenVPN载荷含义图。

  1. 1个数据包

Client->Server

|38| openvpn初始创建会话请求

|5f|f2|07|b2|27|12|14|2d|session

|00|00|00|01|4d|da|14|7c|大包packetid时间戳

|00|数据包确认

|00|00|00|00| 包序列号

  1. 2个数据包

Server->Client

|40| 服务端相应

|7a|26|7c|45|a6|72|e1|a2| session   

|00|00|00|01|4d|da|14|7c| 

|01|00|00|00|00|5f|f2|07|b2|27|12|14|2d|

|00|00|00|00|

  1. Client->Server

|28|回执确认

|5f|f2|07|b2|27|12|14|2d|

|00|00|00|02|4d|da|14|7c|

|01|00|00|00|00|7a|26|7c|45|a6|72|e1|a2|

  1. 4个数据包

Client->Server

|20|  openpvn控制流数据 包含SSL握手数据

|5f|f2|07|b2|27|12|14|2d|

|00|00|00|03|4d|da|14|7c|(可能没有)

|00|

|00|00|00|01|

|16|03|01|00|5f|01|00|00|5b|03|01|4d|da|14|7c|77|15|6d|32|69|2a|3d|90|fc|8d|3d|a6|68|83|3f|11|e2|63|b7|1b|e5|d1|46|95|3b|99|a6|e5|00|00|34|00|39|00|38|00|35|00|16|00|13|00|0a|00|33|00|32|00|2f|00|66|00|05|00|04|00|63|00|62|00|61|00|15|00|12|00|09|00|65|00|64|00|60|00|14|00|11|00|08|00|06|00|03|01|00|

  1. 5个数据包

 

Server->Client

|20|

|7a|26|7c|45|a6|72|e1|a2|

|4c|b7|ae|78|e9|67|ca|bb|2b|71|0d|fc|48|51|08|9a|30|6c|dd|54|

|00|00|00|02|4d|da|14|7c|

|01|00|00|00|01|5f|f2|07|b2|27|12|14|2d|

|00|00|00|01|

|16|03|01|00|2a|02|00|00|26|03|01|4d|da|14|7c|5b|f3|9a|fa|b9|d3|b1|75|b7|ba|4f|9d|33|6e|4b|25|cc|f3|dd|6f|d6|73|b0|6e|f0

  1. 6个数据包

Server->Client

|20|

|7a|26|7c|45|a6|72|e1|a2|

|16|28|bc|a4|3a|34|01|45|26|2b|ab|59|ea|ee|d3|88|b4|dd|11|ee|

|00|00|00|03|4d|da|14|7c|

|00|

|00|00|00|02|

|30|09|06|03|55|04|06|13|02|61|61|31|0b|30|09|06|03|55|04|08|13|02|61|61|31|0b|30|09|06|03|55|04|07|13|02|61|61|31直接串接上一个包没有发完的内容

 

  1. 7个数据包

|30|openvpn数据流

 

总体思路:和ipsec类似openvpn有两层加密参数协商,一层是ssl握手密钥协商,供ssl加密隧道使用,该隧道中传递openvpn自身加密参数;第二层是openvpn自身使用,传输vpn数据。

因此,通过openvpn 20控制流数据还原ssl握手参数,解密原ssl加密隧道密文,在20控制流最后几个数据包包含了openvpn自身加密参数协商。

在下一篇文章将要讲述ssl握手隧道解密。


0 0
原创粉丝点击