自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (6)
  • 收藏
  • 关注

原创 车联网安全

ESCRYPT。

2023-02-07 16:46:01 946

原创 代码版本方案Trunk Based,Git Flow,Aone Flow

git 分支管理

2023-02-07 15:23:30 1838

原创 动态库中全局变量问题

所以,当任何一个线程尝试修改这些page中的内容时,windows负责分配一个新的page出来,然后修改该线程的地址空间,将 这个新分配的page的地址设置上去,从此以后,该线程修改这个全局变量或是静态变量,操作的就是这个新分配的page了。此时,很显然so只被加载了一份,那么,当这么多程序在运行调用该so时,该so中的全局变量的值会被覆盖来覆盖去么?在所有的UNIX平台上这是默认的行为(注意:实际定义i的 模块的点o文件,必须同时链接到动态库和主程序上,否则链接报错)。主程序存取动态链接库里的全局变量。

2023-01-31 11:49:33 2086

原创 centos虚拟机升级内核版本

从内核官网下载内核源码包,并解压https://mirrors.edge.kernel.org/pub/linux/kernel/yum grouplist去检测程序所有安装包情况yum groupinstall Development tools安装开发工具,这是一个包含众多小工具例如:binutils、bison、flex、gcc、gcc-c++、gettext、libtool等等,以避免后面对内核进行编译时出现错误。yum install hmaccalc zlib-develbinu

2022-04-17 16:21:56 599

原创 关于重复造轮子的一点看法

重复造轮子一定没有好处么?未必!对于中间件更是如此。最近使用了公司一个中间件,接口说明不清晰(当然写接口的人觉得很清晰,自我感觉良好)、接口内部实现更是不知道(多次试错之后发现接口是有上下文要求的)、改动随意(一天能出3个版本)。 要是有其他组也在实现类似功能的组件那该多好啊,就可以选择性的使用。你写的好大家就用你的接口,写的不好自然就没人用了。这样接口就能良性迭代。但从外面看这样是再重复造轮子。很想说:很需要这样的重复造轮子。...

2022-01-09 12:43:37 302

原创 openvxx server代码执行

一、代码执行简图二、io事件初始化

2020-07-05 14:16:51 440

原创 openvxx client 代码执行

一、证书和算法加载到上下文c1中二、po/select 事件处理三、报文处理、openvpn状态机四、加解密

2020-07-05 14:16:25 379

转载 linux IO调度(电梯算法)

RH442之linux IO调度(电梯算法)2015年10月10日admin发表评论阅读评论Linux内核2。6开始引入了全新的IO调度子系统,IO调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,这恰恰就是现实生活中的电梯模型,所以IO调度器也被叫做电梯。 (elevator)而相应的算法也就被叫做电梯算法。而Linux中IO调度的电梯算法有好如下几种:as(Antic...

2018-04-09 09:39:54 4948 2

转载 进程上下文频繁切换导致load average过高

一、问题现象现网有两台虚拟机主机95%的cpu处于idle状态,内存使用率也不是特别高,而主机的load average达到了40多。二、问题分析先在主机上通过top、free、ps、iostat 等常用工具分析了下主机的CPU、内存、IO使用情况,发现三者都不高。通过vmstat 1 查看的结果如下:从vmstat的输出结果来看,io项的block

2018-01-30 19:03:38 834

转载 Linux下进程信息的深入分析

这里我们主要介绍进程的状态,进程的状态可以通过/proc/PID/status来查看,也可以通过/proc/PID/stat来查看.如果说到工具大家用的最多的ps也可以看到进程的信息.这里我们通过/proc/PID/status来分析进程的信息.在2.6.18之后的内核,多了capibilty/cpusets等信息.查看进程状态信息如下:more sta

2018-01-30 14:57:57 367

原创 openssl证书命令行

openssl x509部分命令打印出证书的内容:openssl x509 -in cert.pem -noout -text打印出证书的系列号openssl x509 -in cert.pem -noout -serial打印出证书的拥有者名字openssl x509 -in cert.pem -noout -subject以RFC2253规定的格式打印出证书的拥有者名字open...

2017-04-27 17:34:30 1031

转载 skb head/data/tail/end/介绍

This first diagram illustrates the layoutof the SKB data area and where in that area the various pointers in 'structsk_buff' point.The rest of this page will walk throughwhat the SKB data area looks

2017-04-26 18:21:12 4506

转载 ssl协商以及秘钥交换

一、SSL协商        由于非对称加密的速度比较慢,所以它一般用于密钥交换,双方通过公钥算法协商出一份密钥,然后通过对称加密来通信,当然,为了保证数据的完整性,在加密前要先经过HMAC的处理。        SSL缺省只进行server端的认证,客户端的认证是可选的。以下是其流程图(摘自TLS协议)。      Client                         

2017-02-26 22:12:22 3298

转载 HTTP CHUNKED

服务端给浏览器发送报文时,必须告诉浏览器报文的大小,这样浏览器可以根据报文大小来判断报文的完整性以及在长连接中确定报文的截尾。但是很多服务器的报文是动态创建的,在发送之前是无法确定其大小的。服务器只有等待内容全部创建后,计算出主体的大小,才能响应客户端的请求,这样的处理方法大大延迟了响应。传输编码中的分块编码为这种困难提供了解决方案,服务器可以逐块发送主体,并说明每块的大小就可以了。HTTP协议中

2017-02-10 17:57:25 1086 1

转载 FTP主动模式和被动模式的比较

FTP主动模式和被动模式的比较

2017-02-10 17:45:54 282

转载 GCC 中的编译器堆栈保护技术

linux缓冲区溢出

2017-01-25 09:53:04 425

转载 Linux下缓冲区溢出攻击的原理及对策

linux缓冲区溢出

2017-01-25 09:51:40 1202

转载 Linux的capability分析

一)概述:1)从2.1版开始,Linux内核有了能力(capability)的概念,即它打破了UNIX/LINUX操作系统中超级用户/普通用户的概念,由普通用户也可以做只有超级用户可以完成的工作.2)capability可以作用在进程上(受限),也可以作用在程序文件上,它与sudo不同,sudo只针对用户/程序/文件的概述,即sudo可以配置某个用户可以执行某个命令,可以更

2017-01-23 11:19:37 3778

转载 Linux内核剖析 之 内核同步

Linux内核剖析 之 内核同步679主要内容    1、内核请求何时以交错(interleave)的方式执行以及交错程度如何。    2、内核所实现的基本同步机制。    3、通常情况下如何使用内核提供的同步机制。内核如何为不同的请求服务    哪些服务?    ====>>>    为了更好地理解内核是如何执行的,

2017-01-19 17:35:28 592

原创 以ping包发送过程分析ipsec执行(草稿)

ping包发送过程分析:1、安全路径查找和创建ping_sendmsg ------> ip_route_output_flow----->xfrm_lookup这里面会查找安全路由,或者是根据源、目的IP地址找到SPD项,再找到SAD项后创建安全路由,安全路由最终会把数据包导到ah4_output\esp4_output做相应的填充ah\esp填充2、执行安全路径ping_sen

2017-01-13 17:49:40 1672

转载 关于TCP乱序和重传的问题

TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相

2017-01-04 18:37:15 4152 1

转载 Linux IPv4报文处理浅析

对于接收到的报文,如果不被丢弃、不被网桥转发,会调用netif_receive_skb()提交给IP层;而对于IP层向外发送的报文,则通过调用dev_queue_xmit()提交给数据链路层。本文就以netif_receive_skb()和dev_queue_xmit()为起始,简要介绍一下报文在IP层的处理过程。先来一张图:报文接收(图中橙色箭头所指)

2016-12-31 20:27:02 970

转载 Linux slab 分配器剖析

http://www.ibm.com/developerworks/cn/linux/l-linux-slab-allocator/Linux slab 分配器剖析了解 Linux 内存管理的方式良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux

2016-12-31 16:08:09 278

转载 ip分片与linux实现(整理自网络)

http://blog.chinaunix.net/uid-23849526-id-240157.htmlIP报文格式:    与分片有关的是'标志'字段,标志字段占3bit。目前只有前两个比特有意义。       |R|DF|MF|        R:保留未用。         DF:Don't Fragment,“不分片”位,如果将这一比特置1 ,IP层

2016-12-28 16:14:26 4978

转载 linux内核sk_buff的结构分析

http://simohayha.iteye.com/blog/556168内核版本是2.6.32. 在内核中sk_buff表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面sk_buff会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32里面这个域已经被删除了。 而sk_buff的内存布局可以分作3个段,第

2016-12-28 15:27:03 679

转载 ipsec SADB参数定义差异分析

http://blog.chinaunix.net/uid-127037-id-2919568.html1. 前言由于RFC2367中只定义了SA的类型,但没有定义安全策略的定义,因此各种IPSEC实现只能自己定义,openswan-2.4.7和linux-2.6.19.2内核的xfrm都实现了IPSEC,但某些非标准参数定义有差异,openswan的头文件为o

2016-12-26 01:27:41 1348

转载 Linux内核中的IPSEC实现4(ESP封装)

9. IPSEC封装流程 IPSEC数据包的封装过程是在数据包发出前完成的, 是和路由选择密切相关的, 根据前面的发出分析可知封装是通过对数据设置安全路由链表来实现的, 因此对数据包的IPSEC封装流程可以简单描述如下:1) 对于进入的数据包, 进行路由选择, 如果是转发的, 进入路由输入, 然后查找安全策略检查是否需要IPSEC封装, 如果需要封装, 就查找和创建相关

2016-12-26 01:23:42 2950

转载 Linux内核中的IPSEC实现4(AH封装)

http://blog.chinaunix.net/uid-127037-id-2919566.html8. 安全协议与IPSEC相关的安全协议是AH(51)和ESP(50), IPSEC使用这两个协议对普通数据包进行封装, AH只认证不加密, ESP既加密又认证, 当ESP和AH同时使用时, 一般都是先进行ESP封装, 再进行AH封装, 因为AH是对整个IP包进行验证的,

2016-12-26 01:22:06 2190

转载 Linux内核中的IPSEC实现3

6. XFRM的其他操作6.1 HASH处理关于HASH值的计算方法主要在net/xfrm/xfrm_hash.h中定义:// IPV4地址HASHstatic inline unsigned int __xfrm4_addr_hash(xfrm_address_t *addr){// 就是地址本身 return ntohl(addr->a4);

2016-12-26 01:19:49 968

转载 Linux内核中的IPSEC实现2

http://blog.chinaunix.net/uid-127037-id-2919563.html5. 安全策略(xfrm_policy)处理本节所介绍的函数都在net/xfrm/xfrm_policy.c中定义。5.1 策略分配策略分配函数为xfrm_policy_alloc(), 该函数被pfkey_spdadd()函数调用st

2016-12-26 01:15:54 1852

转载 Linux内核中的IPSEC实现1

http://blog.chinaunix.net/uid-127037-id-2919561.html1. 前言在Linux2.6内核中自带了IPSEC的实现,这样就不用象2.4那样打补丁来实现了。该实现包括以下几个部分: PF_KEY类型套接口, 用来提供和用户层空间进行PF_KEY通信,代码在net/key目录下,前面已经介绍过;安全联盟SA和安全策略SP管理,是使用

2016-12-26 01:12:39 2622

转载 Linux kernel的中断子系统之(一):综述

作者:linuxer 发布于:2014-8-14 19:12 分类:中断子系统http://www.wowotech.net/irq_subsystem/interrupt_subsystem_architecture.html一、前言一个合格的linux驱动工程师需要对kernel中的中断子系统有深刻的理解,只有这样,在写具体driver的时候才能:1、正确的

2016-12-21 21:54:58 338

转载 dpdk 代码分析一

http://www.cnblogs.com/jiayy/p/3429725.html一  前言http://www.dpdk.org/  dpdk 是 intel 开发的x86芯片上用于高性能网络处理的基础库,业内比较常用的模式是linux-app模式,即利用该基础库,在用户层空间做数据包处理,有了这个基础库,可以方便地在写应用层的网络包处理高性能程序,目前该库已经开

2016-12-21 16:34:41 5366

转载 ppp协议说明

http://blog.sina.com.cn/s/blog_426a49850102wp7o.html1. 两台设备使用PPP连接,直连接口属于不同网段,是否可以ping通?可以ping通。因为PPP在进行IPCP协商后会把学习到的直连路由加入到路由表中。 2. PPP 协议位于TCP/IP协议栈中哪一层?其主要功能是什么?PPP协议处于TCP/IP协

2016-12-19 23:01:28 2838

转载 PPTP协议握手流程分析

http://blog.csdn.net/hdxlzh/article/details/46711901一  PPTP概述        PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网,可以通过密码验证协议,可扩展认证协议等方法增强安

2016-12-19 22:54:14 5795 1

转载 在用户空间发生中断时,上下文切换的过程

先引用一篇博文,再总结一下相关问题。所谓上下文切换,实质就是寄存器堆的切换过程。这其中一部分需要硬件来切换,一部分需要软件来处理。当在用户空间发生中断时,首先由 x86 CPU 从硬件角度进行处理,然后才是 linux 内核的处理。当中断处理完毕,返回到用户空间时,最后的步骤也是交给 CPU 硬件来处理的。1、  X86 CPU 对中断的硬件支持CPU 从中断控制器

2016-12-15 19:13:43 468

转载 中断上下文和进程上下文的区别

进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。处理器总处于以下状态中的一种:1、内核态,运行于进程上下文,内核代表进程运行于内核空间;2、内核态,运行于中断上下文,内核代表硬件运行于内核

2016-12-15 19:11:58 1978 1

转载 孤儿进程与僵尸进程

孤儿进程与僵尸进程[总结]1、前言  之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念  我们知道在unix/linux中,正常情况下,

2016-12-15 19:06:22 204

转载 内核中断,异常,抢占总结篇

一、基本概念中断分为同步中断和异步中断。同步中断是由CPU控制单元产生的,“同步”是指只有在一条指令执行完毕后,CPU才会发出中断,而不是发生在代码指令执行期间,比如系统调用。而异步中断是由其他硬件设备依照CPU时钟信号产生的,即意味着中断能够在指令之间发生,例如键盘中断。按照Intel的微处理器手册,同步中断和异步中断也分别称为异常(或者软件中断)和中断。中断大家都比较熟悉,是由硬件设备

2016-12-15 19:02:49 488

原创 socket从userspace到kernel的api执行过程(不含tcp/ip协议栈部分)

glibc版本2.3.6。Kernel版本:4.3Userspace glibc接口说明glibc中socket接口定义:(glibc-x.x.x/sysdeps/generic/socket.cx.x.x是版本号)int __socket (domain, type, protocol)    int domain;    int

2016-11-29 17:33:01 1655

代码评审检查表checklist(c_c++_java)

代码评审检查表checklist(c_c++_java)

2022-06-24

WIFI-无线-hotspot-热点认证连接完整过程数据包和分析

WIFI、无线、hotspot、热点认证连接完整过程数据包和分析,协议交互完整报文,分析文章,eapol分析

2022-04-12

Debugging With GDB.rar

Debugging With GDB Debugging With GDB Debugging With GDB中文版

2020-10-18

rfc1213.txt.pdf

RFC snmp MIB2库定义。

2020-06-12

BACnet协议官方文档

BACnet协议官方文档

2019-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除