14 sweird

尚未进行身份认证

我要认证

知其然,并知其所以然。揭开上层重重迷雾,去了解计算机的本质,去了解操作系统的本质,解开曾经的迷惑,怀着十二分的热情,用我的一生去完成。

等级
TA的排名 1w+

基于openswan klips的IPsec实现分析(十一)NAT穿越

基于openswan klips的IPsec VPN实现分析(十一)NAT穿越转载请注明出处:http://blog.csdn.net/rosetta 本节介绍openswan klips的NAT穿越,应用层IKE协商时的NAT在以后的文章再做介绍。简介IPsec和NAT的冲突: NAT服务器对内网来的数据包,需要修改其源地址和源端口为服务器自身的地址和端口,然

2013-02-21 17:19:35

基于openswan klips的IPsec实现分析(十)认证算法维护

基于openswan klips的IPsec VPN实现分析(十)认证算法维护转载请注明出处:http://blog.csdn.net/rosetta 这里指的认证算法是ESP使用的,对通信过程中的信息做哈希,用来校验信息的完整性的;协商时的认证算法仅用来做哈希,哈希结果再用来做签名和验签。 相对于加密算法,认证算法会比较简单些,它也不需要像加密算法一样去构造一个结构体

2013-02-06 17:07:09

基于openswan klips的IPsec实现分析(九)加密算法维护

基于openswan klips的IPsec VPN实现分析(九)加密算法维护转载请注明出处:http://blog.csdn.net/rosetta 本节将介绍klips加密算法的维护,并介绍如何增加新加密算法的支持,下一节将讲认证算法维护和增加。 这里说的加密算法是指对称加密算法,是在通信过程中对传送的信息加解密时使用的,比如:AES,3DES,sm4等。

2013-02-05 16:09:45

基于openswan klips的IPsec实现分析(七)内核SADB维护(1)

基于openswan klips的IPsec VPN实现分析(七)内核SADB维护(1)转载请注明出处:http://blog.csdn.net/rosetta 上一节讲了应用层pluto是如何构造SADB消息发送给内核的,这节将讲内核对SADB的维护,所有SA处理函数都在指针数组msg_parsers[]中。SADB(SA Database)即SA数据库,一般听到数据库三字

2013-02-04 15:49:16

基于openswan klips的IPsec实现分析(八)内核SADB维护(2)

基于openswan klips的IPsec VPN实现分析(七)内核SADB维护2转载请注明出处:http://blog.csdn.net/rosetta内核完整的消息处理过程,以隧道模式ESP协议增加SA情况为例接收消息和发送消息的知识涉及到Linux内核了,所以不关注它是怎么收发,而是关注收到消息后对消息本身的处理过程。但为了保证代码的完整性,就把接收和发送的代码全部帖上来了

2013-02-04 09:27:49

使用racoon setkey搭建IPsec环境

使用racoon setkey搭建IPsec VPN环境转载请注明出处:http://blog.csdn.net/rosetta 以前的博文写的都是基于openswan klips的IPsec实现及环境搭建,没有使用过Linux自带的netkey,现基于Linux自带的netkey搭建IPsec VPN环境,并参考UNPV13e写一个应用层程序倾泻安全联盟。

2013-01-29 15:08:03

基于openswan klips的IPsec实现分析(六)应用层SADB操作

基于openswan klips的IPsec VPN实现分析(六)应用层SADB操作转载请注明出处:http://blog.csdn.net/rosetta 这里的操作是指由openswan的密钥管理守护进程pluto对于内核SADB的操作。如下来至rfc2367的密钥关联程序和PF_KEY的关系图。

2013-01-24 17:10:39

基于openswan klips的IPsec实现分析(五)应用层和内核通信(2)

基于openswan klips的IPsec VPN实现分析(五)应用层和内核通信——内核操作转载请注明出处:http://blog.csdn.net/rosetta 在数据发送一节讲过,加载模块时会执行pfkey_init()初始化与用户层通信的PF_KEY套接字,在这个函数里会把支持的协议和算法加到pfkey_supported_list[]全局数组中,并在soc

2013-01-18 15:56:35

基于openswan klips的IPsec实现分析(四)应用层和内核通信(1)

基于openswan klips的IPsec VPN实现分析(四)应用层和内核通信——应用层操作转载请注明出处:http://blog.csdn.net/rosetta   klips和NETKEY在内核域中运行,主要负责控制管理SA及密钥,负责注册和初始化模块,数据加密解密,SHA1、MD5算法实现等。两者与用户层通信都使用套接字socket PF_KEY。现讲解用户层pluto和kli

2013-01-18 13:39:52

基于openswan klips的IPsec实现分析(三)安全协议

基于openswan klips的IPsec VPN实现分析(三)安全协议参考rfc2402,rfc2406转载请注明出处:http://blog.csdn.net/rosetta博客格式显示有问题,只能将就了。 AH(Authentication Header)认证头和ESP(Encapsulating Security Payload)封装安全载荷是IPsec主要安全协议,当然

2013-01-14 15:53:08

基于openswan klips的IPsec实现分析(二)数据接收

基于openswan klips的IPsec VPN实现分析之数据接收转载请注明出处:http://blog.csdn.net/rosetta  接收数据解密和加密发送数据处理基本相似,无非就是逆过程。  Klips对接收数据的处理流程如下:  数据解密过程(以esp为例)  ipsec_rcv() ->ipsec_rcv_decap()

2013-01-11 08:48:54

基于openswan klips的IPsec实现分析(一)数据发送

基于openswan klips的IPsec VPN实现分析之数据发送转载请注明出处:http://blog.csdn.net/rosetta  Klips是openswan自带实现IPsec功能的模块,其主要实现数据加解密、安全关联、密钥管理、身份认证等功能,并以.ko模块插入到内核中运行。  Klips对外出数据的处理流程如下:  相关函数调用过程如下:

2013-01-08 16:34:22

使用源码搭建IPV6 IPsec隧道

本文档的Copyleft归rosetta所有,使用GPL发布,可以自由拷贝、转载,转载时请保持文档的完整性。原文地址:http://blog.csdn.net/rosetta Openswan是Linux下IPsec的最佳实现方式,我之前使用的版本是openswan-2.4.7,它最大的缺点是不支持IPV6,现在国家大力扶持IPV6项目,下一代互联网IPV6全面普及已近在

2012-07-27 18:02:55

IPsec数据传输过程

IPsec VPN数据传输过程转载请注明出处:http://blog.csdn.net/rosetta 以下是一个数据包经IPsecVPN隧道的传送过程(如ICMP包),由左边的VPN保护子网内的PC机向右边VPN保护子网内的PC机传送数据时,左边PC发送的数据由左VPN eth1内口接收后发现需要经过隧道,则把数据交由左ipsec0口加密(tunnel, ESP或AH)

2013-03-14 14:51:54

经典算法---选择排序 selection sort

选择排序 selection sort时间复杂度O(n2)O(n^2)O(n2)选择排序每一趟找出一个最小(或最大)数放到序列起始位置,然后再从剩余待排序元素中继续找到最小(或最大)数,放到已排序的序列的尾部,以此类推,直到全部待排序元素排完。选择排序的思想和冒泡排序是类似的,但选择排序和冒泡排序是有区别的1:冒泡排序比较的是相邻两个数,而选择排序是顺序比较,找到最小(或最大)数。冒泡...

2019-06-09 16:43:28

算法的好坏是如何分析的?

前言本节参考《算法导论》P13P_{13}P13​~P16P_{16}P16​, 以插入排序为例做说明分析算法的复杂度,给出了计算插入排序算法运行时间的表示方式和计算方法,并给出了插入排序最好情况、最坏情况、平均情况的分析过程,最后引出Θ\ThetaΘ(读任务theta)表示。掌握此方法后,就可以对遇到的任何算法做一个形式化的评估,从而了解算法的执行效率。具体插入排序的算法的思想请见之前的博文...

2019-06-08 16:13:26

经典算法---插入排序 insert-sort

时间复杂度:O(n2)O(n^2)O(n2)在算法导论中“算法分析”一节就是以“插入排序”为例分析的,已经分析的很清楚了,最好情况下,即已经排好序的情况下,只有外层循环,所以时间复杂度为O(n)O(n)O(n),但是如果正好是逆序,那么时间复杂度为O(n2)O(n^2)O(n2)思想:取待排序的牌,和已排序的手牌(从左到右依次变大)里最右边的牌开始比较大小,如果最右边的牌比待排序的牌大,那么...

2019-06-06 10:26:32

经典算法---冒泡排序 bubble-sort

时间复杂度:O(n2)O(n^2)O(n2)思想:从给定无序序列头部开始,两两比较,根据两者大小交换位置,直到将最大(或最小)的数据交换到队尾(将最大的放到最后即升序,将最小的放到最后即降序),从而成为有序序列的一部分 。下一次继续这个过程,直到所有数据元素都排好序 。外层排序只要进行len−1len-1len−1就可以排好了,内层排序只要排len−1len-1len−1再减去已经排序好的i...

2019-06-04 17:24:56

如何判断计算机的快慢?

参考《算法导论》p6p_6p6​~p7p_7p7​。为什么要学算法?就是想设计出的算法让计算机跑的更快嘛,那怎么判断计算机运行的快慢?或者不同算法在同一台计算机上的运行时间如何比较?判断CPU运行快慢(CPU快慢也即计算机快慢)的一个单位是MIPS(Million Instruction Per Seconds),每秒百万条执行,此值肯定是越大则表示CPU运行越快。另外一个评价标准是,某个算...

2019-06-04 17:05:09

Linux内核中链表的实现

前言曾经写过一篇《Linux内核中链表的使用》, 这篇文章只是参考LKD3e介绍了内核中链表的使用方法,并没详细介绍链表的具体实现和该链表的组织方式,本文将更深入学习内核中的链表相关的知识,并解答上述问题。传统双向链表和内核中的双向链表的区别Linux内核中实现的链表,和平时看到的链表不太一样,它不是把具体的数据结构塞入到链表中,而是把链表节点存放到用户的数据结构中。这个设计的主要目的是因为...

2019-06-03 16:43:45

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。