自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (13)
  • 收藏
  • 关注

转载 PCI驱动框架简单分析

一、PCI 概念介绍    PCI是CPU和外围设备通信的高速传输总线。PCI规范能够实现32位并行数据传输,工作频率为 33MHz 或 66MHz ,最大吞吐率高达266MB/s,PCI的衍生物包括 CardBus、mini-PCI、PCI-Express、cPCI等。    PCI总线体系结构是一种层次式的体系结构。在这种层次体系结构中,PCI桥设备占据着重要的地位,它将父总线

2017-07-30 10:33:25 496 1

转载 DPDK 中断机制 eal_intr_handle_interrupts

转自:http://blog.csdn.net/xy010902100449/article/details/47283147DPDK通过在线程中使用epoll模型,监听UIO设备的事件,来模拟操作系统的中断处理。 一、中断初始化在rte_eal_intr_init()函数中初始化中断。具体如下:1、首先初始化intr_sources链表。所有UIO设备的中

2017-07-29 16:50:50 970

转载 DPDK 内存管理(三)(rte_malloc 内存管理)

转自:http://blog.csdn.net/xy010902100449/article/details/47283043rte_malloc()为程序运行过程中分配内存,模拟从堆中动态分配内存空间。1 void *2 rte_malloc(const char *type, size_t size, unsigned align)3 {4 return rt

2017-07-29 16:45:55 598

转载 DPDK 内存管理(二)(rte_mempool 内存管理)

转自:http://blog.csdn.net/xy010902100449/article/details/47283017DPDK以两种方式对外提供内存管理方法,一个是rte_mempool,主要用于网卡数据包的收发;一个是rte_malloc,主要为应用程序提供内存使用接口。本文讨论rte_mempool。rte_mempool由函数rte_mempool_create()负责创建,

2017-07-29 16:42:43 619

转载 DPDK 内存管理(一)(内存初始化)

转自:http://blog.csdn.net/xy010902100449/article/details/472829951 前言 DPDK通过使用hugetlbfs,减少CPU TLB表的Miss次数,提高性能。2 初始化DPDK的内存初始化工作,主要是将hugetlbfs的配置的大内存页,根据其映射的物理地址是否连续、属于哪个Socket等,有效的组织起来,

2017-07-29 16:34:48 529

转载 DPDK 收发包处理流程(二)(网卡初始化)

转自:http://blog.csdn.net/xy010902100449/article/details/47282937三、PCI驱动注册调用rte_eal_init()--->rte_eal_dev_init()函数,遍历dev_driver_list链表,执行网卡驱动对应的init的回调函数,注册PCI驱动。/* Once the vdevs are inital

2017-07-29 16:23:31 724

转载 DPDK 收发包处理流程(一)(网卡驱动注册)

转自:http://blog.csdn.net/xy010902100449/article/details/47282895本文基于DPDK-1.8.0分析。网卡驱动模型一般包含三层,即,PCI总线设备、网卡设备以及网卡设备的私有数据结构,即将设备的共性一层层的抽象,PCI总线设备包含网卡设备,网卡设备又包含其私有数据结构。在DPDK中,首先会注册设备驱动,然后查找当前系统有

2017-07-29 15:54:17 779

转载 Linux 网卡驱动学习(六)(应用层、tcp 层、ip 层、设备层和驱动层作用解析)

转自:http://blog.csdn.net/xy010902100449/article/details/47428187本文将介绍网络连接建立的过程、收发包流程,以及其中应用层、tcp层、ip层、设备层和驱动层各层发挥的作用。1、应用层对于使用socket进行网络连接的服务器端程序,我们会先调用socket函数创建一个套接字:fd = socket

2017-07-23 22:20:18 762

转载 Linux 网卡驱动学习(五)(收发包具体过程)

转自:http://blog.csdn.net/xy010902100449/article/details/47362787函数接口设备初始化函数网络设备驱动在 Linux 内核中是以内核模块的形式存在的,对应于模块的初始化,需要提供一个初始化函数来初始化网络设备的硬件寄存器、配置 DMA 以及初始化相关内核变量等。设备初始化函数在内核模块被加载时调用,它的函

2017-07-23 21:26:51 878

转载 Linux 网卡驱动学习(四)(缓存描述符 Buffer Description)

转自:http://blog.csdn.net/xy010902100449/article/details/47157731【摘要】上文我们罗列出驱动中重要的数据结构,Linux 内核中对网络设备进行描述的核心结构类型叫做 net_device,net_device 结构定义在 include/linux/netdevice.h 文件中。该结构的字段可以分为以下几类。1、ne

2017-07-23 21:10:39 827

转载 Linux 网卡驱动学习(三)(net_device 等数据结构)

转自:http://blog.csdn.net/xy010902100449/article/details/47157113【摘要】前文对网络驱动例子进行一个简单的梳理总结,本文贴出 net_device 的数据结构以及一些驱动中常用的数据结构。1、网络设备驱动结构下图摘自http://blog.chinaunix.net/uid-20672257-id-3147768.html

2017-07-23 21:03:21 3513

转载 Linux 网卡驱动学习(二)(网络驱动接口小结)

转自:http://blog.csdn.net/xy010902100449/article/details/47132917【摘要】前文我们分析了一个虚拟硬件的网络驱动例子,从中我们看到了网络设备的一些接口,其实网络设备驱动和块设备驱动的功能比较类似,都是发送和接收数据包(数据请求)。当然它们实际是有很多不同的。1、引言首先块设备在/dev目录下有设备节点,而网络设备

2017-07-23 16:51:35 386

转载 Linux 网卡驱动学习(一)(分析一个虚拟硬件的网络驱动例子)

转自:http://blog.csdn.net/xy010902100449/article/details/47132517在Linux,网络分为两个层,分别是网络堆栈协议支持层,以及接收和发送网络协议的设备驱动程序层。网络堆栈是硬件中独立出来的部分,主要用来支持TCP/IP等多种协议,网络设备驱动层是连接网络堆栈协议层和网络硬件的中间层。网络设备驱动程序的主要功能是:(

2017-07-23 16:41:24 586

原创 当你的才华还撑不起你的野心时,就应该静下心来学习

当你的才华还撑不起你的野心时,就应该静下心来学习

2017-07-23 16:06:45 1378

转载 浅析HTTPS中间人攻击与证书校验

浅析HTTPS中间人攻击与证书校验0x00 引言随着安全的普及,https通信应用越发广泛,但是由于对https不熟悉导致开发人员频繁错误的使用https,例如最常见的是未校验https证书从而导致“中间人攻击”,并且由于修复方案也一直是个坑,导致修复这个问题时踩各种坑,故谨以此文简单的介绍相关问题。本文第一节主要讲述https的握手过程,第二节

2017-06-01 11:32:22 404

转载 TLS协议分析 (九) 现代加密通信协议设计

转自:http://chuansong.me/n/1286704052752六.  TLS协议给我们的启发 — 现代加密通信协议设计在看了这么多的分析和案例之后,我们已经可以归纳出加密通信协议设计的普遍问题,和常见设计决策,设计决策点:四类基础算法 加密/MAC/签名/密钥交换 如何选择?对称加密目前毫无疑问应该直接用aead,最佳选择就是 aes-12

2017-04-11 09:24:05 3335

转载 TLS协议分析 (八) 实现与开源项目

转自:http://chuansong.me/n/1286703952743三. TLS协议的代码实现TLS的主要实现:OpenSSLboringssl(Google)libressls2n(Amazon)nss(Mozilla)polarsslbotangnutls(gpl)

2017-04-11 09:16:25 2413

转载 TLS协议分析 (七) 安全性分析

转自:http://chuansong.me/n/12815547529379. TLS协议的安全分析安全分析,重中之重,也是大家最关心的。安全分析的第一步是建立攻击模型,TLS的攻击模式是:攻击者有充足的计算资源攻击者无法得到私钥,无法得到客户端和服务器内存里面的密钥等保密信息攻击者可以抓包,修改包,删除包,重放包,篡改包。

2017-04-11 09:13:28 5575 1

转载 TLS协议分析 (六) handshake协议扩展

转自:http://chuansong.me/n/12815546529435.11. handshake  — Finished在 ChangeCipherSpec 消息之后,应该立即发送 Finished 消息,来确认密钥交换和认证过程已经成功了。ChangeCipherSpec 必须在其它握手消息和 Finished 消息之间。Finished 消息是第一条用刚刚协商

2017-04-11 08:55:45 2151 1

转载 TLS协议分析 (五) handshake协议 证书与密钥交换

转自:http://chuansong.me/n/12815545529595.4. handshake — Server Certificate当服务器确定了CipherSuite后,根据CipherSuite里面的认证算法,如果需要发送证书给客户端,那么就发送 Server Certificate消息给客户端。Server Certificate总是在ServerHello之后

2017-04-10 15:53:37 6121 2

转载 TLS协议分析 (四) handshake协议概览

转自:http://chuansong.me/n/12687916528435. handshake 协议handshake protocol重要而繁琐。TLS 1.3对握手做了大修改,下面先讲TLS 1.2,讲完再介绍一下分析TLS 1.3.5.1.handshake的总体流程handshake protocol用于产生给record protocol使用

2017-04-10 15:44:59 9164 1

转载 TLS协议分析 (三) record协议

转自:http://chuansong.me/n/12687915528344. record 协议record协议做应用数据的对称加密传输,占据一个TLS连接的绝大多数流量,因此,先看看record协议图片来自网络:Record 协议 — 从应用层接受数据,并且做:分片,逆向是重组生成序列号,为每个数据块生成唯一编号,防止被重放或被重排

2017-04-10 14:51:51 4618 1

转载 TLS协议分析 (二) 架构总览

转自:http://chuansong.me/n/1268791452834二. TLS协议的原理1. 自顶向下,分层抽象构建软件的常用方式是分层,把问题域抽象为多层,每一层的概念定义为一组原语,上一层利用下一层的组件构造实现,并被上一层使用,层层叠叠即成软件。例如在编程语言领域中,汇编语言为一层,在汇编上面是C/C++等静态编译语言,C/C++之上是pyt

2017-04-10 14:39:02 1812 1

转载 TLS协议分析 (一) 设计目标及历史

来源:http://chuansong.me/n/1256214352643原创2016-12-07何龙微信后台团队最近发现密码学很有意思,刚好还和工作有点关系,就研究了一下,本文是其中一部分笔记和一些思考。密码学理论艰深,概念繁多,本人知识水平有限,错误难免,如果您发现错误,请务必指出,非常感谢!本文目标:学习鉴赏TLS协议的设计,透彻理解

2017-04-10 14:25:04 1184

转载 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)

原文见:http://blog.csdn.net/a19881029/article/details/38091243/原文见:http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/ 如果你正在读这篇文章,很可能你对TCP“非著名”的“三次握手”或者说“

2017-04-05 15:21:28 2226 1

转载 OPENSSL库使用--AES篇

转载自:http://blog.csdn.net/duanxingheng/article/details/11730617一、AES算法简介1、AES算法介绍        密码学中的高级加密标准(Advanced Encryption Standard,AES),又称 Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES

2017-02-19 10:38:17 421

转载 OPENSSL库的使用-DES篇

转自:http://blog.csdn.net/duanxingheng/article/details/11655037一、DES算法简介1、DES算法介绍        DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。 明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算(

2017-02-19 10:23:15 957

转载 SSL/TLS协商过程详解

本文大部分整理自网络,相关文章请见文后参考。关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 ,如果你想快速自建CA然后签发数字证书,请移步 基于OpenSSL自建CA和颁发SSL证书 。SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰。正文开始。1. SSL/TLS概

2017-02-16 16:06:35 16627

转载 HTTPS为什么安全?

本文将分两个专题去理解HTTPS。专题一:HTTPS为什么安全1、http为什么不安全?http协议属于明文传输协议,交互过程以及数据传输都没有进行加密,通信双方也没有进行任何认证,通信过程非常容易遭遇劫持、监听、篡改,严重情况下,会造成恶意的流量劫持等问题,甚至造成个人隐私泄露(比如银行卡卡号和密码泄露)等严重的安全问题。可以把http通信比喻成寄送信件一样,A给B寄信,信件在寄

2017-02-16 13:50:45 374

原创 2017新的突破

今天是2017年春节假期的最后一天了,收收心,准备新的一年的工作,生活;总结一下过去的2016,总体上工作,学习,生活都还不错,但还有很多值得改变,需要突破的地方;工作上:2016年是从原来工作5年的公司转到现在供职公司的真正意义上的第一完整的一年,由于原来的公司是一家有着几千人的大公司,自己也就扮演着一颗螺丝钉的角色,只关注自己的一亩三分地,做的工作相对单一,说白了就是知识面比较窄,做的

2017-02-05 14:48:16 405

转载 30分钟玩转Shell-第一个Shell脚本

前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:$echo $$运行结果29949特殊变量列表变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数

2017-02-05 14:44:01 268

转载 c static关键字描述

点击打开链接          google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。         C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注

2016-01-18 10:24:16 242

dpdk输入输出基本架构.rar

1,包含dpdk的基本输入输出接口,程序和多核的绑定; 2,包含ipv4/ipv6的分片重组 3,包含dpdk hash lib的基本用法 4,包含自己项目中使用的完整的启动脚本 5,用户可以在此基础上构建自己的应用

2021-05-04

snort源码分析.rar

Snort由几大软件模块组成,这些软件模块采用插件方式与Snort结合,扩展起来非常方便,例如有预处理器和检测插件,报警输出插件等,开发人员也可以加入自己编写的模块来扩展Snort功能。所有这些子模块都建立在数据包截获库函数接口Libpcap的基础上,Libpcap为他们提供了一个可移植的数据包截获和过滤机制

2019-12-10

lua中文教程

lua中文教程,想学lua脚本的同学不可错过,非常好的一本教程

2018-12-04

百度https建链过程pcap文件

百度https报文,tcp三次握手过程,及https加密后的报文

2018-12-04

DPDK例子介绍

包含对DPDK所有例子的描述,通过该文档,能够详细理解DPDK中所有例子

2018-12-04

telnet-server-0.17-47.el6.x86_64

linux telnet-server-0.17-47.el6.x86_64 linux telnet-server packet

2015-09-18

系统程序员成长计划

国内较为经典的C语言书籍,面向对象的设计思想,作者从系统的角度讲述软件项目设计的方方面面,是不可多的的书籍

2015-09-12

c语言常见问题集锦

牛人总结的C语言常见问题集锦,特别是找相关工作的同学可以看一下,里面都是很多经典的C语言面试的问题

2015-07-12

source insight

source insight 3.5

2015-07-12

UEFI source code

UEFI 源码,做BIOS的人都知道,UEFI源码,一般人没有的哦

2015-07-12

Windows环境下32位汇编语言程序设计 第二版

Windows环境下32位汇编语言程序设计 第二版

2015-07-12

linux core 0.11源码分析

linux core入门经典,可以从这里获取linux内核最基础的内容,学习Linux的同学不能错过哦

2015-07-12

空空如也

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

TA关注的人

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