1. 程式人生 > >OpenVPN解密(一)

OpenVPN解密(一)

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握手隧道解密。