`
shaojiashuai123456
  • 浏览: 265995 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论
文章列表
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn 7. IPV4下的xfrm支持处理 在xfrm中各种和地址相关的操作是和协议族相关的, 因此这部分的具体实现就放在相关的协议族实现中, 然后通过状态和策略信息结构来指引到实际的操作中,完成对普通数据包的IPSEC包装或对IPSEC包的解封装。 7.1 IPV4下的xfrm策略 IPV4下的xfrm策略在net/ipv4/xfrm4_policy. ...
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn   6. XFRM的其他操作 6.1 HASH处理 关于HASH值的计算方法主要 ...
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn 5. 安全策略(xfrm_policy)处理 本节所介绍的函数都在net/xfrm/xfrm_policy.c中定义。 5.1 策略分配 策略分配函数为xfrm_policy_alloc(), 该函数被pfkey_spdadd()函数调用 struct xfrm_policy *xfrm_policy_alloc(gfp_t gfp){ stru ...
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn 4. 状态(xfrm_state)处理 本节所介绍的函数都在net/xfrm/xfrm_state.c中定义。 4.1 状态分配 状态分配函数为xfrm_state_alloc(), 该函数被pfkey_msg2xfrm_state()函数调用, pfkey_msg2xfrm_state()函数是将标准的pfkey_msg(SA结构)转换为xfrm状态, 同时该 ...
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn 1. 前言 在Linux2.6内核中自带了IPSEC的实现,这样就不用象2.4那样打补丁来实现了。该实现包括以下几个部分: PF_KEY类型套接口, 用来提供和用户层空间进行PF_KEY通信,代码在net/key目录下,前面已经介绍过;安全联盟SA和安全策略SP管理,是使用xfrm库来实现的,代码在net/xfrm/目录下定义;ESP,AH等协议实现,在net ...
头文件<asm/checksum.h> ip校验: ip_fast_csum(const void *iph, unsigned int ihl) __wsum csum_partial(const void *buff, int len, __wsum sum);    static inline __sum16  csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned    short  len,unsigned short proto, __wsum sum)   ...
#include<stdio.h> //使用递归 int cal(int i){    if(i!=0)    {        cal(i/16);        if(i%16<10)            printf("%d",i%16);        else printf("%c",i%16+'a'-10);    }    else return 0;}   int main(){    int i;    while(scanf("%d",&i)!=EOF)    {       pr ...
前言: 反把复复尝试了很多次,在网上相关文档的指导下,终于实现了在RH Linux 9.0 (kernel 2.4.20-8  )上以源码方式安装openswan-2.4.27但老系统安装新版本的软件却是颇为劳心费神之事,不为别的,只为学习,呵呵:lol:。此实验在RH ...
strongSwan是一个完整的2.4和2.6的Linux内核下的IPsec和IKEv1 的实施。它也完全支持新的IKEv2协议的Linux 2.6内核。它互均IKEv1和IKEv2模式与大多数其他基于IPSec的VPN产品。的重点项目是strongSwan强认证机制,使用X.509公 开密钥证书和可选的安全储存私钥对智能卡通过一个标准化的PKCS # 11接口。一个特点是使用的X.509属性证书实现了先进的访问控制方案的基础上组的成员。 开发语言: C/C++ 项目主页: http://www.strongswan.org/ 文档地址: http://www.strongswan.org/d ...
(1) struct ethhdr {     unsigned char   h_dest[ETH_ALEN];   /* destination eth addr */     unsigned char   h_source[ETH_ALEN]; /* source ether addr    */     __be16      h_proto;                /* packet type ID field */ } __attribute__((packed));   (2) struct iphdr {  #if defined(__LITTLE_ENDIAN ...
        懂得网络配置命令是一般技术人员必备的技术,经过一段时间的研究和学习,总结了一些常用的命令和示例以便日后查阅.  传统的在1--3点,ip高级路由命令在4--12点,两者部分可以通用,并达到同样的目的,但ip的功能更强 ...
选项协商是Telnet协议最复杂的部分,总共有39个选项用于配置本地和远程主机间的工作模式。当一方要执行某个选项时需向另一端发出请求,若对方接受该选项,则选项在两端同时起作用,否则两端保持原来的模式。Telnet的命令格式如表2.1、表2.2所示。IAC是Telnet协议中的保留码,双方用IAC确定收到的字节是数据还是命令,Telnet协议的命令是至少包含两个字符(IAC和命令码)的字节序列,选项协商则有3个字节,第三个字节为协商的选项。当协商的选项存在子选项时,要进行子选项协商,命令格式如表2.2所示。   表2.1 Telnet选项协商命令格式
unsigned int dir(char * server) { int sck;//套接字变量 struct sockaddr_in serv_adr; //远程主机的地址 struct hostent *host;        //指向远程主机的指针 unsigned char databuf[FILEBUF_SIZE]; //数据 int bytes = 0, bytesread = 0; //字节数,读取到的字节数      host = gethostbyname(server); //根据远程主机的主机名,得到指向远程主机的指针 if (host == (struct host ...
  库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。设置库文件的搜索路径有下列两种方式,可任选其一使用: 在环境变量 LD_LIBRARY_PATH 中指明库的搜索路径。 在 /etc/ld.so.conf 文件中添加库的搜索路径。 将自己可能存放库文件的路径都加入到/etc/ld.so.conf中是明智的选择 添加方法也 ...
sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *format [, argument] ... );除了前两个参数类型固定外,后面可以接任意多个参数。sprinf最重要的就是第二个参数,格式化字符串注意:sprinf不会检查第一个参数指向的缓冲是否可以容纳你要格式化的字符串, printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符, ...
Global site tag (gtag.js) - Google Analytics