自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 后台运行VirtualBox虚拟机

运行一个VirtualBox虚拟机最常见的方式是: 1. 打开VirtualBox 2. 点击对应的虚拟机来运行使用这种传统方式运行的虚拟机通常都有一个前台界面,可以像操作本地电脑一样进行操作。但是Linuxer有时候更喜欢通过终端远程接入,而不是在虚拟机界面里点点画画。好在VirtualBox提供了这样一种后台运行虚拟机的方式,如下: 1. 打开windows命令行cmd 2. 进入到Vi

2016-09-12 14:19:10 9469

原创 【SparkStreming】DStream中RDD所对应的周期是怎样的?

SparkStreaming中定义了DStream这个概念。但至于DStream中每个RDD所对应的时间周期是怎样的,在文档中并没有完全体现。本文从SparkStreaming源代码出发,澄清了RDD所对应的时间周期。

2016-05-24 18:25:36 3205 1

原创 Spark的几个基本概念:Driver和Job,Stage

Driver Program, Job和Stage是Spark中的几个基本概念。Spark官方文档中对于这几个概念的解释比较简单,对于初学者很难正确理解他们的涵义。官方解释如下(http://spark.apache.org/docs/latest/cluster-overview.html): Driver Program: The process running the main() func

2016-03-01 18:05:55 28739 4

原创 如何用Python输出漂亮的xml文件

最近要用python处理一个xml文件。平时习惯了用xml.etree.ElementTree,结果发现此库存在一些让人无法忍受的缺点:1. 无法处理comment和cdata2. 输出后的xml文件没有换行,没有缩进,十分难以阅读于是尝试这用xml.dom.minidom,前两个问题几乎全部解决了。唯一让人看着不爽的是minidom对于text的处理。比如,我期待的xml输入

2015-10-13 15:32:29 17665 1

原创 Linux系统引导和启动的一些思考与总结

Grub的主要作用是引导操作系统。但是,为何要使用Grub,以及Grub为何要分成多个阶段常常让人困惑。为了解开这个谜团,我阅读了How it works系列的几个文章,终于明白了一个系统引导程序所面临的问题,以及Grub是如何去解决这些问题的。于是,豁然开朗。为何要使用Grub?要理解这一问题,首先要了解传统的boot loader所面临的问题。在Linux 0.11的代码中,L

2014-12-30 17:46:36 1205

原创 基于 DPDK 的共享哈希表实现

DPDK 自身有一套哈希表的实现,在 rte_hash.h 和 rte_hash.c 中。但是由于DPDK 基于 C 语言实现,因此不具备 C++ 模板和类的强大特性。在 C 语言实现的 rte_hash 中,rte_hash 结构体中用指针的形式存储了哈希函数,如果将 rte_hash 放在共享内存中,由于指针无法共享,用户需要自行计算哈希值,然后调用其他的接口将元素插入到哈希表中。总之,rte

2014-07-19 06:33:38 6905

原创 用 g++ 编译 dpdk

dpdk 源代码是用 c 语言编写的。example 目录下的liz

2014-06-11 13:22:08 6387 2

原创 用Strongswan测试ECDSA证书认证

最近为了验证IPSec中ECDSA证书的正确性,需要用Strongswan模拟IPSec的安全网关。在搭建测试环境的过程中遇到不少问题,好在google的帮助下终于最终搞定。虽然都是些简单的问题,但是却常常给初次接触的人造成困扰,所以整理一下,希望可以帮到需要的人。Openssl和Strongswan的安装Strongswan和Openssl有很强的联系。它利用了Openssl的许

2013-09-23 16:00:34 5386 2

原创 用Openssl计算ECDSA签名

ECDSA的全名是Elliptic Curve DSA,即椭圆曲线DSA。它是Digital Signature Algorithm (DSA)应用了椭圆曲线加密算法的变种。椭圆曲线算法的原理很复杂,但是具有很好的公开密钥算法特性,通过公钥无法逆向获得私钥。第一部分 : DSA的签名和验证过程要了解ECDSA,首先要了解DSA签名的过程和验证过程。为了理解的方便,这里省去诸

2013-09-18 17:43:40 33446 12

原创 初识Openssl

因为项目的原因,最近一直在跟IPsec和SSL/TLS打交道。公司的产品是基于Openssl开源代码库来实现的,加之我一直对这一块比较感兴趣,所以趁着这个机会决心好好了解一下Openssl和基于Openssl的编程。Openssl是一个很好的开源代码项目,但是它最大的缺点在于文档不完善。虽然国外有一些专门介绍openssl编程的书籍,但是几乎没有国内的出版社加以翻译引进,所以对于中国的开发者而言了

2012-07-07 11:37:41 4809

翻译 如何成为更高效的学习者

原文链接:http://psychology.about.com/od/educationalpsychology/tp/effective-learning.htm我一直都对寻找更好更快的学习方法充满兴趣。作为一个已经毕业的学生,同时还是一个全职的科学作家,我花在学习新东西上的时间非常有限。所以,尽可能的利用我的时间来获取最大的教育价值就变得尤为重要。尽管如此,记忆、回想和转化都是非

2012-06-28 18:43:58 1712

翻译 改善记忆的十个秘诀

你是否发现自己会经常忘记东西,或者在重要的考试中头脑一片空白?幸运的是,有一些方法可以帮助你改善记忆。在你下一次大型考试之前,务必检验一下这些改善记忆的技术的实际效果。这些方法来自于认知心理学的著作,可以改善记忆,增强会议和增加信息储存。1.    集中注意力于你的学习材料上注意力是记忆的一个主要组成部分。为了将信息从短期记忆转成长期记忆,你必须要积极的专注于这些信息。所以,尽量尝

2012-06-20 20:40:06 1328

翻译 有关大脑的10个事实

记忆是一种神奇的东西。从回忆童年的趣事到回想我们遗落的钥匙,记忆在我们生活的各个方面扮演着至关重要的角色。它帮助我们形成自我意识,持续获取生活经验。它就像是心的宝库,存储了生命的信息,直到我们需要的时候。但实际上,记忆是一个复杂的过程,它是大脑中多个部分的精巧协作。记忆既可能是生动而持久的,但是也可能是短暂而模糊的。接下来,我们将了解关于记忆的10个事实,揭开大脑的神秘面纱。1. 海马

2012-06-19 23:04:41 4655

原创 左右脑理论

前些天在土豆网上看到一个名为“日本第一头脑王”的节目。它邀请了全日本非常出众的八个高智商的人进行角逐,最终选出一个最聪明的人。节目很精彩,出现的问题几乎囊括了各个不同的领域。如若没有绝对的高智商、超强的记忆力和多领域学科涉猎,恐怕很难回答其中的哪怕是很小的一部分问题。不过选手们果然实例出众,不愧是百里挑一的高智商天才,总能在第一时间给出答案,令人惊叹不已。看完后,我开始思考一个问题

2012-06-19 23:01:23 1842

原创 State(状态)模式

State模式是一种很常见的模式。尤其在通信领域,很多的协议都有一个状态机来维持协议的运转。而State模式正是实现状态机的绝佳武器。State模式允许一个对象在其内部状态发生改变时表现不同的行为。举个例子,大家都知道TCP状态机。当TCP连接处于Closed和Established这两种状态时,如果收到一个SYN包,它们的行为是不一样的。处于Closed状态的TCP连接会执行被动打开

2012-06-10 17:25:39 1332

原创 IKEv2的认证数据生成过程

在IKEv2的第三个消息和第四个消息中,双方都会向对方发送一个AUTH Payload来证明自己的身份。这个过程是通过对各自发送的第一个消息进行签名来实现的。比如,如果一个Responder想证明自己的身份,那么,当它发送IKE_SA_INIT消息时,需要把这个消息完整的缓存下来。然后在发送IKE_SA_AUTH之前,将缓存的IKE_SA_INIT消息和Nonce_I,以及它自身的ID的MAC值连

2012-05-21 18:09:03 8542 1

原创 SPD、SAD、Traffic Selector和IKE收发数据包的处理过程

在IPSec的安全体系中,有两个很重要的数据库。一个是SPD - Security Policy Database;另一个是SAD - Security Association Database。顾名思义,SPD中定义了若干策略,说明对于各个IP数据流应当做出怎样的处理,是透传、丢弃,还是执行IPSec加解密。SAD则负责保存已经建立的SA相关信息,比如SA的各种参数,如加密算法、认证算法、生存时

2012-03-26 23:50:09 6367 3

原创 IKE SA和IPSec SA的区别

刚接触IPSec的时候,一直很奇怪,为什么要做两阶段的协商?先协商出来一个IKE SA,然后再IKE SA的基础上协商出来一个IPSec SA。直接一步到位协商出IPSec SA不是很好吗?但是在实际应用中,直接协商IPSec SA就显得不是那么有效率了。打个比方,某公司A有个子公司B,为了方便子公司B的员工访问总公司A的内部数据,在双方的安全网关上部署VPN,使用IPSec进行数据加密。如果双方

2012-03-26 18:19:56 25783 1

原创 BackTrack安装

最近开始对BackTrack和Metasploit感兴趣,于是利用起机器上多余的磁盘空间,自己搭建了一个实验环境。我的操作系统原来是win7,现在想再装一个Backtrack5。简单记一下安装过程,方便以后查看:1. 从backtrack官网下载最新的ISO。这里推荐使用Gnome的ISO,这样安装时问题会少很多。我开始用的KDE的ISO,结果还没进入安装画面就花屏了。2. 刻录成DVD安

2012-02-15 21:20:29 1443

原创 windows系统下Metasploit安装及常见问题

第一步:从官方网站http://www.metasploit.com/上下载metasploit安装包 第二步:关闭自己主机上的杀毒软件和防火墙 第三步:如果是windows7系统,请到控制面板->区域和语言->区域,把区域改成英语(美国)。否则在安装postgresql时会出错并导致安装无法继续。 第四步:双击下载的安装文件一路默认安装。有的朋友可能想要改

2012-02-12 18:34:14 18305 1

原创 UDP

UDP协议通常称为用户数据报协议。它跟TCP、SCTP等协议同处于网络模型中的传输层,位于IP层之上,应用层之下。现在已经提到过,IP层负责路由,将一个IP数据报传送到目的地址。所以IP层解决的是主机到主机的路由问题。那么传输层是做什么的呢?顾名思义,传输层的作用就是负责数据的发送和接收。它一方面按照应用层程序的要求将一个数据报交给IP层路由到目的主机,另一方面又将IP层递交过来的数据报按照目的端

2012-02-03 15:16:49 927

原创 IP协议就是个信封

看似复杂的原理,放到生活中也可以变得很简单。 讨论IP协议,不妨从寄一件快递入手,因为它们解决的都是相同的问题——如何将一个东西送到另一个地方。区别在于,一个走电路,一个走马路;一个用数据包,一个用信封;一个用IP,一个用门牌号。如果你能够理解寄一封快递为什么需要写上收件人地址,那么你也就能够理解为什么IP包头中需要一个目的IP地址。从本质上来说,二者没有任何区别。 寄一封快递,首

2012-02-02 15:45:03 1170

原创 逆波兰表示法

逆波兰表示法(Reverse Polish notation)是一种将操作符放置在操作数后面的表示法。比如3×4用逆波兰式来表示的话,就应当写成3 4 ×。 1920年,波兰数学家Jan Łukasiewicz发明了一种数学表示法。它将运算符置于所有的操作数之前。这种表示法也被称为前缀表示法。1954年,弗里德里希·鲍尔和艾兹格·迪科斯彻提出了逆波兰结构来用于表达式求值,以利用堆栈和减少计

2012-01-06 22:12:15 5005

原创 Zip加密文件破解

介绍:大家也许碰到过这种情况,从网络上下载了一个zip文件,最后却发现它是用密码保护的。或者自己用密码加密了一个很重要zip文件,但是一段时间后忘记了密码,无法打开。这个时候,可能就需要对这个加密文件进行破解了。 随机计算机性能的提高,很多人可能觉得找到一个zip文件的密码是一件很简单的事情。通常,破解zip文件有三种方法:暴力破解、字典攻击,以及明文攻击。 在介绍这三种方法之

2011-10-27 16:11:52 41301 4

原创 ISAKMP - 解释域(DOI)和初始向量(IV)

Domain of Interpretation – 解释域DOI定义了负载的格式、交换的类型,以及对安全相关信息的命名约定,比如对安全策略或者加密算法和模式的命名。DOI标识用来说明payload通过哪一个DOI来解释。常用的DOI有两个,0和1。0表示ISAKMP DOI,1标识IPSec DOI。如果一个负载,不如Notification payload的DOI为0,那么说明这是一个IS

2011-10-25 15:28:24 4833 1

原创 ISAKMP - 认证

认证,指的是通过认证的过程来验证通信对方是否是它所期望的实体,而不是假冒者。                  举一个例子,公司派你独自一人去美国出差,糟糕的是你并不认识美国公司的任何一个同事。经过10多个小时的飞行,飞机终于降落在美国土地上。你刚下飞机,赫然看见有人举着牌子,上面写着你的名字。然后你过去打招呼,说我就是Bruce。对方很高兴的说,终于等到你了,咱们走吧。结果,你猜怎么着,

2011-10-25 10:36:42 4525

原创 ISAKMP - 密钥交换

密钥交换主要用于密钥的建立。在ISAKMP体系中,无论是数据加密算法还是认证算法,都需要一个双方都知道的密钥。然而,互联网环境是不安全的,如何才能够通过不安全的互联网环境建立起一个安全的密钥呢? 一般有两种方式。第一种叫做密钥传输,第二种叫做密钥生成。 顾名思义,密钥传输就是直接把密钥发给对方。一个典型的例子是,首先在客户端随机生成一个密钥,然后使用服务端的公开密钥进行加密。由于只

2011-10-20 16:41:13 4114

原创 ISAKMP - 安全关联协商

前面说过,ISAKMP主要有三个过程:SA协商、密钥交换和认证。本篇主要讨论SA协商。          首先要明白一个问题:为什么需要协商?为什么协议不规定使用某种特定的算法,这样实现上可以变得简单很多?          要回答这个问题,我们必须全面的审视网络通信的环境。所有的安全服务都与网络的配置和环境有关。互联网很有意思的一点在于,任何一台互联网设备可随时随地的接入,也可以

2011-10-20 16:14:02 3318

原创 初识ISAKMP

在互联网环境中进行通信,由于双方都无法直接接触对方,而且互联网本身是一个开放的环境,因而信息的安全性难以得到保障。一般情况下,当我们讨论网络安全的时候,至少要考虑这几个问题:信息加密、身份认证和数据的完整性。对于某些特殊的场景,可能还需要考虑访问控制和信息的不可否认性等问题。 为了实现在互联网环境中进行安全通信,RFC2048定义了名为ISAKMP的安全框架。它结合了认证、密钥管理和安全关

2011-10-20 15:02:57 3372

代码大全 pdf中文版

本书从软件质量和编程思想等方面论述了软件的构造问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还有丰富而典型的程序示例……

2008-09-11

空空如也

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

TA关注的人

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