第一阶段:ISAKMP协商阶段

1.1 第一包

  • 包1:发起端协商SA,使用的是UDP协议,端口号是500,上层协议是ISAKMP,该协议提供的是一个框架,里面的负载Next payload类似模块,可以自由使用。可以看到发起端提供了自己的cookie值,以及SA的加密套件,加密套件主要是加密算法,哈希算法,认证算法,生存时间等。

  • Initiator cookie817622ea01367ec9

发起者的cookie值,告知响应端主机要使用IPSEC的哪一把密钥来加密这个封包。

  • Responder cookie0000000000000000

响应者的cookie值,第一个包只有发起者没有响应者所以响应者的cookie为空

  • Version1.0

IKE版本号,1.0表示使用IKE v1建立连接

  • Exchange type:Identity Protection (Main Mode) (2)

IKE协商模式为主模式

  • Life-Type (11): Seconds (1)

生存期时间的单位为秒

  • Life-Duration (12): Duration-Value (86400)

密钥周期86400,密钥周期超过86400后会重新协商IKE

  • Encryption-Algorithm (1): AES-CBC (7)

IKE使用DES-CBC加密算法加密数据

  • Hash-Algorithm (2): SHA (2)

IKE使用SHA算法校验数据完整性

  • Authentication-Method (3): RSA-SIG (3)

RSA方式进行认证,除此之外还有与共享秘钥(Pre-shared key)

  • Group-Description (4): Alternate 1024-bit MODP group (2)

Diffie-Hellman (DH) 组在密钥交换进程中使用的1024 bit的密钥的强度

  • Key-Length (14): Key-Length (128)

秘钥长度128位

1.2第二包

包2:响应端收到发送端发送的加密套件后,对比自己是否有相对应的加密套件,如果有就使用和发送端相同的加密套件加密数据,把自己的cookie值和选择好的加密套件发送给发送端;如果没有相同加密套件则IKE建立失败响应。

  • Initiator cookie817622ea01367ec9

发起者的cookie值,告知响应端主机要使用IPSEC的哪一把密钥来加密这个封包。

  • Responder cookie: 58E452AA5DC6679B

响应者的cookie值,告知发起端主机要使用IPSEC的哪一把密钥来加密这个封包

  • Version1.0

IKE版本号,1.0表示使用IKE v1建立连接

  • Exchange type:Identity Protection (Main Mode) (2)

IKE协商模式为主模式

  • Life-Type (11): Seconds (1)

生存期时间的单位为秒

  • Life-Duration (12): Duration-Value (86400)

密钥周期86400,密钥周期超过86400后会重新协商IKE

  • Encryption-Algorithm (1): AES-CBC (7)

IKE使用DES-CBC加密算法加密数据

  • Hash-Algorithm (2): SHA (2)

IKE使用SHA算法校验数据完整性

  • Authentication-Method (3): RSA-SIG (3)

RSA方式进行认证,除此之外还有与共享秘钥(Pre-shared key)

  • Group-Description (4): Alternate 1024-bit MODP group (2)

Diffie-Hellman (DH) 组在密钥交换进程中使用的1024 bit的密钥的强度

  • Key-Length (14): Key-Length (128)

秘钥长度128位

1.3第三包

包3:发送端生成随机数和DH公共值,包3的主要目的是向响应端发送自己的DH公共值和Nonce随机数。用于生成加密时所需要的KEY值。(生成三把钥匙)

cookie817622ea01367ec9

发起者的cookie值,告知响应端主机要使用IPSEC的哪一把密钥来加密这个封包。

  • Responder cookie: 58E452AA5DC6679B

响应者的cookie值,告知发起端主机要使用IPSEC的哪一把密钥来加密这个封包

  • Version1.0

IKE版本号,1.0表示使用ikev1建立连接

  • Exchange type:Identity Protection (Main Mode) (2)

IKE协商模式为主模式

  • Key Exchange Data: 6bdd2d265808783f234725716b99323d7501818e939a640fcb8fd0d3be2ad3dfceed7efefaad3e52c371d90fcfd92bf75f0b663c7f06dbcd6139daaee3c9872f808302328cacd4f26a0063d50ade8e3af764b5467728ec1146d5e71d6bd0a53acfc5adc81719971e0f5ed77d0b628d6ec1a59e24208e59364e8e16ab71499e79

DH公共值,DH公共值通过Diffie-Hellman算法计算出来;在1和包2中所协商的算法,它们必须需要一个相同的KEY(即,共享密钥中设置的密码),但同时这个KEY不能在链路中传递。所以,该过程的目的是分别在两个对等体间独立地生成一个DH公共值,然后在报文中发送给对端,对端通过公式计算出相同的KEY值。

1.4第四包

包4:响应端收到包3后,自己生成一个随机数,然后通过Diffie-Hellman算法计算出DH公共值,把随机数和DH公共值传输给发送端。(生成三把钥匙)

  • Initiator cookie:817622ea01367ec9

发起者的cookie值,告知响应端主机要使用IPSEC的哪一把密钥来加密这个封包。

  • Responder cookie: 58E452AA5DC6679B

响应者的cookie值,告知发起端主机要使用IPSEC的哪一把密钥来加密这个封包

  • Version1.0

IKE版本号,1.0表示使用ikev1建立连接

  • Exchange type:Identity Protection (Main Mode) (2)

IKE协商模式为主模式

  • Key Exchange Data: 9e2652cf76c9a0a40e9f04a10046b8e6a3f3ed653c5792c58dee602f050a127067df9e9f9b7d90a1830369bc3054dedc7429e62cc0d7e0b559e0cb412cb508aaaa7d6d2fc24b843b444cf95ba1fbd6302a3cab1c1440e1d1e7f2f21697839171ef62f33dff54b51d841cedda71fccdab1f4072a58b88d7604464dab150246e84

DH公共值,DH公共值通过Diffie-Hellman算法计算出来。

1.5第五包

  • 包5:发起方发起身份验证,报文中带有认证的数据(预共享密钥或者数字签名)。由于包1和包2已经协商好了加密算法,包3和包4协商好了加密的KEY值,所以包5的消息被加密了。(使用第一把钥匙)

  • Initiator cookie817622ea01367ec9

发起者的cookie值,告知响应端主机要使用IPSEC的哪一把密钥来加密这个封包。

  • Responder cookie: 58E452AA5DC6679B

响应者的cookie值,告知发起端主机要使用IPSEC的哪一把密钥来加密这个封包

  • Version1.0

IKE版本号,1.0表示使用ikev1建立连接

  • Exchange type:Identity Protection (Main Mode) (2)

IKE协商模式为主模式

  • Encrypted payload (304 bytes)

加密后的数据

1.6第六包

  • 包6:响应端回应报文,同样发送认证的数据预共享密钥或者数字签名),验证对方身份信息。包6的数据同样使用包1、包2协商的算法和包3、包4协商的key值加密数据,所以包6的认证数据是加密的。双方身份验证通过后,IKE协商结束。

  • Initiator cookie817622ea01367ec9

发起者的cookie值,告知响应端主机要使用IPSEC的哪一把密钥来加密这个封包。

  • Responder cookie: 58E452AA5DC6679B

响应者的cookie值,告知发起端主机要使用IPSEC的哪一把密钥来加密这个封包

  • Version1.0

IKE版本号,1.0表示使用ikev1建立连接

  • Exchange type:Identity Protection (Main Mode) (2)

IKE协商模式为主模式

  • Encrypted payload (304 bytes)

加密后的数据

第二阶段:IPSec SA协商阶段

2.1第七包

  • 包7:发起方主要是进行IPSEC SA的协商,建立安全联盟,报文内容主要是协商用的封装方式以及后面的加密算法以及生存时间和感兴趣流等等。由于数据加密所以无法查看。

  • Initiator cookie: 817622EA01367EC9

发起者的cookie值是由上阶段IKE协商时已经确定的,所以IPSec协商依然使用上阶段的cookie

  • Responder cookie: 58E452AA5DC6679B

响应者的cookie值是由上阶段IKE协商时已经确定的,所以IPSec协商依然使用上阶段的cookie

  • Next payload: Hash (8)
  • Version1.0

IKE版本号,1.0表示使用ikev1建立连接

  • Exchange typeQuick Mode32

交换类型使用快速模式,IPSec协商时只有快速模式

  • Encrypted payload (128 bytes)

被加密的数据,主要为感兴趣流、加密策略协商。(这里使用第二把钥匙进行加密)

2.2第八包

  • 包8:响应方回包,同意包7发送的封装方式、加密算法、生存时间、感兴趣流等等,同时,也能起到确认收到对端消息的作用。由于数据加密所以无法查看。

  • Initiator cookie: 817622EA01367EC9

发起者的cookie值是由上阶段IKE协商时已经确定的,所以IPSec协商依然使用上阶段的cookie

  • Responder cookie: 58E452AA5DC6679B

响应者的cookie值是由上阶段IKE协商时已经确定的,所以IPSec协商依然使用上阶段的cookie

  • Next payload: Hash (8)
  • Version1.0

IKE版本号,1.0表示使用ikev1建立连接

  • Exchange typeQuick Mode32

交换类型使用快速模式,IPSec协商时只有快速模式

  • Encrypted payload (128 bytes)

被加密的数据,主要为感兴趣流、加密策略协商。(这里使用第二把钥匙进行加密)

2.3第九包

  • 包9:发送确认报文。其中包含一个HASH,其作用是确认接收方的消息以及证明发送方处于主动状态(表示发送方的第一条消息不是伪造的)。由于数据加密所以无法查看。

  • Initiator cookie: 817622EA01367EC9

发起者的cookie值是由上阶段IKE协商时已经确定的,所以IPSec协商依然使用上阶段的cookie

  • Responder cookie: 58E452AA5DC6679B

响应者的cookie值是由上阶段IKE协商时已经确定的,所以IPSec协商依然使用上阶段的cookie

  • Next payload: Hash (8)
  • Version1.0

IKE版本号,1.0表示使用ikev1建立连接

  • Exchange typeQuick Mode32

交换类型使用快速模式,IPSec协商时只有快速模式

  • Encrypted payload (128 bytes)

被加密的数据,主要为感兴趣流、加密策略协商。(这里使用第二把钥匙进行加密)

IPsec 9个包分析(主模式+快速模式)的更多相关文章

  1. LVS 负载均衡器理论基础及抓包分析

    LVS 是 Linux Virtual Server 的简写,即 Linux 虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.(百 ...

  2. Libreswan软件的密钥协商协议IKEv1主模式实现分析

    Libreswan软件的密钥协商协议IKEv1主模式实现分析 1 协商过程 IKEv1(互联网密钥交换协议第一版)是IPsec VPN隧道协商使用的标准密钥协商协议,其协商过程如下图所示. 总共来回交 ...

  3. wireshark 抓包分析 TCPIP协议的握手

    wireshark 抓包分析 TCPIP协议的握手 原网址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇 ...

  4. Wireshark数据包分析(一)——使用入门

    Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越Metasploit.Nessus.Aircrack ...

  5. 网络数据包分析 网卡Offload

    http://blog.nsfocus.net/network-packets-analysis-nic-offload/     对于网络安全来说,网络传输数据包的捕获和分析是个基础工作,绿盟科技研 ...

  6. SSL/TLS捕包分析

    一.基本概念 SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层.SSL通过互相认证.使用数字签名确保完整性.使用加密确保私密 ...

  7. Wireshark数据包分析入门

    Wireshark数据包分析(一)——使用入门   Wireshark简介: Wireshark是一款最流行和强大的开源数据包抓包与分析工具,没有之一.在SecTools安全社区里颇受欢迎,曾一度超越 ...

  8. Security基础(二):SELinux安全防护、加密与解密应用、扫描与抓包分析

    一.SELinux安全防护 目标: 本案例要求熟悉SELinux防护机制的开关及策略配置,完成以下任务: 将Linux服务器的SELinux设为enforcing强制模式 在SELinux启用状态下, ...

  9. MQTT抓包分析

    1. 概述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该 ...

随机推荐

  1. Prometheus MySQL监控+grafana展示

    前言 最近爱上了研究各种杂七杂八的技术. Prometheus是现如今最火的监控软件之一.做为一个运维DBA,不会这个可就OUT了. 本篇博客,演示一下prometheus之通过mysql expor ...

  2. linux中的防火墙netfilter iptables

    目录 一.Linux防火墙基础 1.1 ptables的表.链结构 1.2 数据包控制的匹配流程 二.编写防火墙规则 1.iptables的安装 2.1 基本语法.控制类型 一般在生产环境中设置网络型 ...

  3. 剑指 Offer 32 - II. 从上到下打印二叉树 II

    剑指 Offer 32 - II. 从上到下打印二叉树 II 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 例如: 给定二叉树: [3,9,20,null,null,1 ...

  4. Nacos 笔记

    Nacos 笔记 目录 Nacos 笔记 1. Nacos简介 1.1 主流配置中心对比 1.2 主流注册中心对比 1.3 Nacos特性 2. 安装启动 支持外部 MySQL 3. 配置管理 3.1 ...

  5. 《手把手教你》系列技巧篇(十六)-java+ selenium自动化测试-元素定位大法之By xpath下卷(详细教程)

    1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. ...

  6. LaTex公式语法教程及手册(附emlogpro公式显示插件katex说明)

    目录 第一列 第二列 第三列 效果 求和(使用\sum标签) 文本效果 本插件简介 积分(使用\int标签) 文本大小 LaTex是什么 空格 特殊符号 LaTex公式使用教程及手册 定界符 LaTe ...

  7. FSM自动售货机 verilog 实现及 code 细节讲解

    1.题目: 饮料1.5 元, 可投入硬币1 元 0.5 元,输出饮料 零钱 2. 画出状态机. 3.仿真结果:coin=1 --> 0.5 元 coin=2-->1元 4.关键代码分析: ...

  8. Shell-15-脚本练习

    批量生成随机字符串文件名 # 用for循环在 /test 目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字符加固定字符串 alnk #!/bin/bash ########### ...

  9. 【笔记】numpy.array基础(1)

    numpy.array基础 使用numpy.__version__可以检查numpy的版本 当然也可以直接使用命令行检查numpy版本 也可以用来简化引用,使用as python list特点 num ...

  10. vue cli中的env详解

    前言 相信使用过 vueCli 开发项目的小伙伴有点郁闷,正常开发时会有三个接口环境(开发,测试,正式),但是 vueCli 只提供了两种 development,production(不包含 tes ...