自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

happy井二胖

胖胖的程序员

  • 博客(61)
  • 收藏
  • 关注

原创 Linux raw socket 和 packet socket 的主要区别

两者在收包时最大的区别是,raw socket因为是在ip_local_deliver_finish()中收包,所以只能收路由后需要入站的数据包,而packet socket是在netif_receive_skb()中收包,在网卡打开混杂模式的情况下,可以收所有到达本机网卡的包。两者在发包时最大的区别是,raw socket设置IP_HDEINCL选项后可以在用户空间构造IP报头,而packe

2016-05-23 14:11:24 2439

转载 信息安全推荐书籍

转自:http://dfir.org/?q=node/8/Recommended ReadingThis page lists books that I have found to be highly relevant and useful for learning topics within computer security, digital

2015-10-30 07:41:49 1442

原创 深入理解网络技术内幕 阅读笔记(五)

第十章 帧的接收处理L2层的帧的函数是由中断事件推动的,硬件会使用中断事件通知CPU,该帧已经可用了。接收中断事件的CPU会执行do_IRQ函数。IRQ编号会引发正确的处理函数被启用。此处理函数通常是设备驱动程序在设备驱动程序初始化期间所注册的函数。IRQ函数处理例程会在中断模式下执行,即后续的中断事件都会被关闭。中断处理函数会:把帧拷贝到sk_buff数据结构,如

2015-10-29 17:50:42 640

原创 自旋锁

一个自旋锁是一个互斥设备,它只能有两个值:“锁定”和“解锁”。它通常实现为某个整数值中的单个位。希望获得某特定锁的代码测试相关的位。如果锁可用,则“锁定”位被设置,而代码继续进入临界区;相反,如果锁被其他人获得,则代码进入忙循环并重复检查这个锁,直到该锁可用为止。这个循环就是自旋锁的“自旋”部分。“测试并设置”的操作必须以原子的方式完成。所有的自旋锁等待在本质上都是不可中断的。一旦调用了spi

2015-10-29 15:34:04 481

原创 深入理解网络技术内幕 阅读笔记(四)

第五章 网络设备初始化一个网络设备可用,就必须被认可,并且关联正确的驱动程序。初始化的几个阶段:        硬件初始化                由设备驱动程序和通用总线合作完成。驱动程序把每个设备的功能配置成IRQ和I/O地址,使其能与内核交互。        软件初始化                在设备能够被使用之前,依赖于所开启和配置的网络协议而定

2015-10-28 17:05:07 520

原创 深入理解网络技术内幕 阅读笔记(三)

第四章 通知链通知链就是一份简单的函数列表,当给定事件发生时予以执行。每个函数都让另一个子系统知道,调用此函数的子系统内发生或侦测到的一个事件。所执行的函数由被通知子系统所选取,绝不是链条的拥有者决定该执行什么函数。拥有者只是定义这份列表而已,任何内核子系统都可以对该链条注册一个回调函数以接收通知信息。当一个内核函数对给定通知链的事件感兴趣时,可以通过函数notifier_ch

2015-10-28 15:18:32 656

原创 深入理解网络技术内幕 阅读笔记(二)

第三章 用户空间与内核的接口内核通过不通的接口把内部信息输出到用户空间。除了程序员用于请求特定信息的系统调用(system call)外,还有三个特殊接口,而其中两个是虚拟文件系统:        procfs(/proc文件系统)                这是一个虚拟文件系统,通常是挂在/proc允许内核以文件的形式向用户空间输出内部信息。这些文件没有实际存在于磁盘中,

2015-10-28 14:57:02 446

原创 深入理解网络技术内幕 阅读笔记(一)

第一章 简介内存缓存:内核分别使用kmalloc和kfree函数分配和释放一个内存块。当分配和回收经常发生时,相关的内核组建初始化函数通常会分配一块特殊的内存缓存,以作分配之用。当一个内存块被释放时,实际上是返回到当初被分配的同一个缓冲区中。内核维护的其专属内存缓存的一些网络数据结构的例子包括,套接字缓冲区描述符,用于分配sk_buff缓冲区描述符。sk_buff结构可能是网络子系

2015-10-28 14:07:14 556

原创 TP-LINK 路由器 WDS配置

因为房间无线信号不好,用无线网卡不稳定,suoy

2014-09-19 09:17:08 662

转载 如何在Python中使用urllib2

原文见 http://www.pythonforbeginners.com/python-on-the-web/how-to-use-urllib2-in-python/

2014-08-22 14:04:22 2763

转载 DeviceIoControl详解

转自:http://blog.csdn.net/angelkernel/article/details/5646113DeviceIoControl的使用说明应用程序和驱动程序的通信过程是:应用程序使用CreateFile函数打开设备,然后用DeviceIoControl与驱动程序进行通信,包括读和写两种操作。还可以用ReadFile读数据用WriteFile写数据。操作完毕时用C

2012-12-11 11:00:54 2494

转载 VC HID

转自:http://blog.csdn.net/playstudy/article/details/73745981、头文件包含,库文件链接 在VC中开发HID应用程序时,需要包含setupapi.h和hidsdi.h,包含方式必须为extern "C",如下所示:extern "C" {// Declare the C libraries used#inclu

2012-12-11 10:53:51 479

转载 IT农民工如何来美国工作

转自:http://blog.csdn.net/gjyalpha/article/details/8269252经历一年多的等待与折腾,终于来美国工作了。自打进入IT这一行那天起,就梦想着有一天能在硅谷的顶尖的IT公司上班,没想到梦想就这么成真了。当然,我的梦想不算远大。但是我觉得人的梦想是随着成长一点一点变大的。伟人们的远大理想就不说了,那有点扯远了。来之前很多朋友、同学

2012-12-07 14:44:58 392

转载 Solaris中的PKCS11接口参考

转自http://blog.csdn.net/ymt/article/details/5033872Cryptoki 库概述Solaris 加密框架中的用户级应用程序通过 libpkcs11.so 模块中所提供的 cryptoki 库来访问 PKCS #11 函数。pkcs11_softtoken.so 模块是由 Sun Microsystems, Inc. 提供的 PKCS

2012-11-16 16:37:11 2870

原创 随想。。。

快下班了,随便写点什么。来现在的公司快一年了,一年中,成长了不少,至少,可以独立完成一些东西了。但是,总觉得没做什么事,没写几个像样的东西,总对自己的专业水平没底。心中总是有些不踏实。今天,买了几本书,希望能够一点点地把这些书看完。希望看这些书能对我的编程水平的提高有所帮助。除了看书,还要勤动手,多写,多做。

2012-10-30 17:13:58 340

转载 程序员如何保持优秀

转自:http://www.oschina.net/news/34104/how-to-be-an-excellent-programmer-for-many-years1. 小范围的选择一些有用技术,透彻的学习它们,拥抱它们。然后不断的扩展这个范围。2. 理解各种数据结构的优点和缺点,包括它们在内存中和在硬盘上的各自表现。3. 理解各种算法的优点和缺点。

2012-10-26 10:59:58 265

转载 卖程序的小女孩

转自:http://my.oschina.net/chwencong/blog/85171 实验室里冷极了,没有窗户,不知道是白天还是黑夜。这是一周的最后一天——周末。在这又冷又黑的晚上,一个蓬头散发的小女孩在工位上坐着。她从家里出来的时候还穿着一件外套,但是有什么用呢?那是一件很大的外套——那么大,不知是哪一年买的。她工作的时候的,就把它脱掉了,实验室的师弟嘲笑说,可以拿它当抹布。

2012-10-26 10:49:20 356

转载 程序员技术练级攻略

转自:http://coolshell.cn/articles/4990.html月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让

2012-10-25 16:19:39 362

转载 简明 Vim 练级攻略

转自:http://coolshell.cn/articles/5426.htmlvim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常

2012-10-25 16:16:37 221

转载 程序员需要具备的基本技能

转自:http://coolshell.cn/?p=428软件开发是一个跨度很大的技术工作,在语言方面,有C,C++,Java,Ruby等等等等,在环境方面,又分嵌入式,桌面系统,企业级,WEB,基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新

2012-10-25 16:05:32 310

转载 别的程序员是怎么读你的简历的

转自:http://coolshell.cn/?p=1695下面这个图片来源国外,是一个关于程序员面试时的简历,被人事部门和程序员本身评审的角度不同的图片。当然,这是一个从国外面试的视角制作的图片,不过,可以看出,其中很多东西都是和国内是相同的。让我们通过这个图片也来了解一下自身吧。下面是我对其做的翻译,翻译水平有限,请大家指正。人事部门是这样阅读简历的

2012-10-25 16:03:59 603

转载 惹恼程序员的十件事

转自:http://blog.csdn.net/haoel/article/details/4053048程序员是一个比较特殊的群体,他们因为长期和电脑打交道所养成的性格和脾气也是比较相近的。当然,既然是人,当然是会有性格的,也是会有脾气的。下面,让我来看看十件能把程序惹毛了的事情。一方面我们可以看看程序员的共性,另一方面我们也可以看看程序员的缺点。无论怎么样,我都希望他们对你的日常工

2012-10-25 15:57:40 522

转载 其实Unix很简单

转自:http://blog.csdn.net/haoel/article/details/1533720其实Unix很简单 陈皓 很多编程的朋友都在网上问我这样的几个问题,Unix怎么学?Unix怎么这么难?如何才能学好?并且让我给他们一些学好Unix的经验。在绝大多数时候,我发现问这些问题的朋友都有两个特点:1)对Unix有畏难心理,对其没有信心;2)喜欢用拿W

2012-10-25 15:55:01 415

转载 优秀程序员的十个习惯

转自:http://blog.csdn.net/haoel/article/details/4013883在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人能够成为一个优秀的编码人员,他们非常熟悉如何用计算机语言来完成

2012-10-25 15:49:15 381

转载 深入理解SetUID

原文载自《草根》杂志,下载地址:http://www.lampbrother.net/grassroots/转自:http://nba20717zcx.blog.51cto.com/343890/392063在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置。问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/shadow中,也就是说

2012-10-25 13:51:45 346

转载 Linux信号(signal) 机制分析

Linux信号(signal) 机制分析转自:http://blog.renren.com/share/239079088/4329558663来源: 金伟的日志【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等

2012-10-25 11:26:01 415

转载 又黑我等程序猿…

转帖自:http://topic.csdn.net/u/20121022/18/61ef4517-9612-4a72-a642-01d7c642dfea.html1、栈和队列的区别是啥? 吃多了拉就是队列;吃多了吐就是栈  2、世界上最遥远的距离不是生与死,而是你亲手制造的BUG就在你眼前,你却怎么都找不到她。。。  3、《c++程序设计语言》比《c程序设计语言》厚了几倍。。。果然有了

2012-10-24 09:23:25 750

原创 搬家了

一咬牙,押一付三加服务费,一共花了8000大洋,搬了个家。这次从六环搬到了市区,虽然依然是市区边上,可依然算是市区。搬家时舍不得花100的搬家费,东西都是自己背上五楼的,一个半小时,十几次爬楼,真累呵呵。搬家后,有24小时热水,有洗衣机,有空调, 门口有超市,老婆很满意呵呵。搬家后,上下班各节省一个小时,不用再去等不知道何时才能到来的6**公交车,真好。我现在依稀记得去年冬天那次等

2012-10-10 17:28:58 718

原创 Linux du 命令用法

du 命令用来统计目录(或者文件)所占磁盘空空间的大小。     常用参数:-h   以K, M, G为单位显示大小,提高信息可读性。-s   仅显示总计,即当前目录的大小要想显示一个目录树及其每个子树的磁盘使用情况                   du     /home/me最常用    du  -sh    /home/me       或者du   -h  /hom

2012-09-20 13:15:33 538

原创 对被请求-节点多播地址(solicited-node multicast address) 的理解

最近在学习IPv6,可能是学习的方式不对,关于 被请求-节点多播地址 迷惑了好久。经过各种查,各种搜,现在貌似对 被请求-节点多播地址 有了一些了解,写这篇博客来分享一下我关于 被请求-节点多播地址 的理解。不免会有错误,欢迎指正! 从字面上理解,被请求-节点多播地址,就是被请求的节点的多播地址,该节点被分配了Target地址(也就是正在被进行地址解析或者重复地址检测的地址),以该被请求-

2012-09-19 13:19:00 17615 6

原创 RFC 4861 IPv6邻居发现 阅读笔记(一)

注:本文大量借鉴了  weicq2000 翻译的RFC 4861 的中文版,在此表示感谢!!RFC 4861定义了IPv6邻居发现协议,同一链路上的IPv6节点使用邻居发现协议去发现彼此的存在,去确定彼此的链路层地址,去寻找路由器,去维护到活动邻居的路径的可达性信息。on-link:如果一个地址满足一下的条件,那么该节点认为该地址是on-link地址:--被这个链路(节点所在的

2012-09-18 15:49:40 2967

原创 RFC 5942 IPv6子网模型:链路和子网前缀间的关系 阅读笔记

1、一个IPv6的地址不会自动地和一个IPv6 on-link 前缀相关联。2、on-link判断和地址分配是分离开的。一个IPv6节点可以没有任何相关的on-link前缀,一个IPv6节点也可以有与任何分配给这个节点的IPv6地址无关的on-link前缀。3、任何分配给节点的地址开始时都应该被认为是没有任何内部结构的。4、在IPv6中,默认地,节点仅将link-local(链路本地)

2012-09-17 16:48:07 1885

转载 乔帮主真的不在了

来自雷锋网,作者banly,原文链接http://www.leiphone.com/iphone5-is-bullshit-thats-all.html那个伟大的苹果公司,真的是为了乔布斯而存在的。在早年,乔布斯曾经离开过,苹果就开始迅速走向衰败,直到乔布斯回归,苹果开始复兴,直接在PC、数字音乐、数字动画、移动通信等几个领域都引爆了革命。于是我们拥有了Air超薄笔记本,iPo

2012-09-13 09:40:33 843

转载 图片转ico图标的网站

http://convertico.org/

2012-08-31 13:27:02 431

转载 vc 动态显示图片

用wizard生成了这个picture的成员变量 CStatic   m_static; 程序里调用 m_static.SetBitmap(::LoadBitmap(NULL,   MAKEINTRESOURCE(IDB_BITMAP_RED))); IDB_BITMAP_RED是我资源里的一个bitmap, 你可以定义一个成员变量CBitmap   m_Bitmap;

2012-08-31 13:26:21 546

转载 VC中鼠标经过按钮弹出功能提示(TIPS)

在网站制作中,将为某些链接添加相关说明,特别是一些图片链接。 而在VC中,也常常为一些图片按钮添加一些功能提示。 下面讲解实现过程: 该功能的实现主要是用CToolTipCtrl类。该类在VC   msdn中有详细说明。 首先在对话框的头文件中加入初始化语句:public:下,加入:CToolTipCtrl     m_Mytip; 然后在初始化对话框函数中加入: m_My

2012-08-31 13:25:15 744

转载 反复反复再反复

学习是一个反复的过程,世上无难事,反复反复再反复,相信一切复杂的都会变得简单。          放正心态,自己不是一个聪明的人,不要强迫自己做到数一数二的人物。          但是,以自己不够长的人生经历来看,一般的事,都没有难倒过自己,所以反复反复再反复,一切都会变得简单而容易掌控。           生活中的很多例子。          有的人真

2012-08-03 12:36:01 320

转载 子网掩码转换:长度<-->点分10进制

转自http://blog.chinaunix.net/uid-105044-id-2952041.html子网掩码常见的表示方法有两种:一种用长度表示, 比如24, 表示掩码中含有二进制1的个数一种用点分10进制表示,比如255.255.255.0 以下是我写的一个二者之间相互转换的函数,请参考: #include stdi

2012-06-01 10:23:55 4862

转载 多线程专题之MFC创建线程

转自http://blog.csdn.net/beyond_q/article/details/2114811现在,我们再写一下带有消息循环的线程1 从CWinThread派生自己的类(CAfxThread) :class CAfxThread : public CWinThread{ DECLARE_DYNCREATE(CAfxThread)protected

2012-05-18 17:31:19 403

转载 获得程序位数和操作系统位数

如今64位系统越来越流行了,对于软件开发人员来说,掌握64位开发技术将会有更好的发展空间。而且经过这几年的发展,64位开发工具也成熟了,例如Visual Studio 2010。  关于如何配置64位平台,MSDN上有详细的介绍——http://msdn.microsoft.com/zh-cn/library/9yb4317s.aspx如何:针对 64 位平台配置 Visual C++

2012-05-18 12:48:49 433

空空如也

空空如也

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

TA关注的人

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