自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

指甲的专栏

计算机世界如此宽广,畅游其中。

  • 博客(38)
  • 资源 (6)
  • 收藏
  • 关注

原创 TCP协议的一些小细节

前言之前做DPI,一直做封包解包,感觉对tcp协议还是比较了解的,后来发现还是远远不够的。开这个博客是记录一下遇到的细节,记录在这里。有时间就补充一下tcp协议1. 为什么是三次握手?三次握手的目的是同步服务端和客户端的序列号,并且需要确认。所以三次握手也是不难理解的。第一次握手时,客户端把自己的序列号告诉服务端; 第二次握手时,服务端把自己的序列号告诉客户端,并且确认自己收到了客户端的序列号;第三

2016-12-09 14:27:24 1025

原创 部署Swarm - Deploy Swarm

部署swarm

2016-08-02 18:37:14 2326

转载 sync/atomic - 原子操作

sync/atomic - 原子操作https://github.com/polaris1119/The-Golang-Standard-Library-by-Example/blob/master/chapter16/16.02.md对于并发操作而言,原子操作是个非常现实的问题。典型的就是i++的问题。 当两个CPU同时对内存中的i进行读取,然后把加一之后的值放入内存中,可能两次i++的结果,这

2016-06-21 14:40:02 4961

原创 tcp 相关的内核变量

tcp 相关的内核变量

2016-06-01 16:44:25 1079

原创 Clion 使用自己编写的 Makefile编译

Clion 目前支持使用 cmake 来编译代码,如果习惯了自己写 makefile,那么还需要通过 cmake 的 add_custom_target 来调用make 命令来实现编译了。参考了http://stackoverflow.com/questions/26918459/using-local-makefile-for-clion-instead-of-cmake 的回答,简单调试修改了一

2016-05-27 10:56:10 31191

原创 go 方法

package mainimport “fmt”type mystring stringfunc (self mystring)String()string{ return string(self) }func (self mystring) show(){ self = “hi” fmt.Println(self) }func (self *mystring) s

2016-05-13 10:39:57 621

原创 学习&使用-libcurl

学习 & 使用 libcurl想用 C 写一个 httpclient,作为一个子模块,以后读取一个 web 的配置文件,etcd 的数据等等,都很方便。但是自己用 tcp socket 来写的话比较麻烦,需要自己写 GET 或者 POST 请求,然后解析响应,虽然不是特别麻烦,但是用开源库的话会更简单。搜索了一下,libcurl 是非常符合我的需求的。简介libcurl主要功能就是用不同的协议连接和

2016-03-04 16:17:58 12226

原创 rsyslogd-学习&使用

简介【这一篇博客不是完整的解释 rsyslogd的运行原理,只是一个自己查找资料的记录】rsyslog 是一个 syslogd 的多线程增强版。现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了。rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件学习资料1. 官方网站官方网站: http://www.rsyslog.com/ 这是官

2016-02-29 16:30:25 12616

原创 GO 开发 IDE 环境--IDEA-go-lang-plugin

最近在使用 go ,想着用vim来学习还可以,还是整一个 go 的 IDE 比较方便。试用了 liteIDE,不太习惯,还是比较喜欢 IntelliJ系列的,搜索了一下,安装一个插件就可以了。网上大部分都是本地编译安装的教程,感觉比较麻烦。这些插件可以之间用 IDEA 的插件管理工具就可以了。这个插件的源码地址为:https://github.com/go-lang-plugin-org/go-la

2016-02-29 09:53:07 3054

原创 读书笔记 -《Python 黑帽子》 ( 五 )

读书笔记系列文章一直都在读书,读了忘,忘了再读。不如把每次学到的东西都写下来第六章 扩展 Burp 代理这一章,作者介绍了攻击 Web应用 的一个好工具,Burp Suite,并且写了两个扩展工具,作为「顺手的工具」以实施攻击和扩展侦察。 可以到 http://portswigger.net 下载 Burp,Kali 系统已经安装了这个工具,我也就省去了安装的过程。(Kali 棒棒的!)

2016-02-20 23:27:21 1891

原创 初用 IRC & freenode

今天看书看到了古老的 IRC,一直都没有试过,今天就尝试了一下,专注于聊天的东西啊。 把初用的过程记录下来先找了一下客户端,命令行版本的我试了一下 weechat(和微信就差一个字母),图形的用了 TimeChat。 并没有推荐使用的意思,没有用更多的客户端做对比。下面以 weechat为例,来写一下基本的使用命令。 安装 weechat: Mac 里面用 brew install weech

2016-02-19 23:05:10 14054 1

原创 读书笔记 -《Python 黑帽子》 ( 四 )

读书笔记系列文章一直都在读书,读了忘,忘了再读。不如把每次学到的东西都写下来第五章 Web 攻击Web 的套接字函数库: urllib2第二章的明星: Paramiko 第三章的明星: socket 第四章的明星: Scapy 第五章的明星: urllib2 这一节就看看这个 urlib2 库开源 Web 应用安装暴力破解目录和文件位置包里破解 html 表格认证

2016-02-19 10:58:02 2189 1

原创 读书笔记 -《Python 黑帽子》 ( 二 )

读书笔记系列文章一直都在读书,读了忘,忘了再读。不如把每次学到的东西都写下来第三章 网络:原始套接字和流量嗅探我的工作内容就是用C 语言写嗅探工具和 DPI。基本的工作原理和本章的内容是非常相似的。所以理解起来会比较容易一些。arp 欺骗和中间人攻击也玩过,所以对这些知识并不陌生。玩的时候用的也是别人的工具,arp 欺骗用的 dsniff 中的 arpspoof,中间人攻击用的 sslsplit,有

2016-02-18 23:45:03 2564

原创 读书笔记 -《Python 黑帽子》 ( 三 )

读书笔记系列文章一直都在读书,读了忘,忘了再读。不如把每次学到的东西都写下来第四章 Scapy: 网络的掌控者Scapy 的十分强大的,前两章的东西可以用 Scapy 用简单的几行代码就能实现。BPF,pcap 文件这些基本通用的东西在阅读本章前最后先自己补充一下。 Scapy有一个非常强大的功能就是读取 pcap 文件,然后对其中的会话做重组。在写嗅探工具的时候,要么用 libnids来做 tc

2016-02-18 23:42:00 2454

原创 读书笔记 -《Python 黑帽子》 ( 一 )

读书笔记系列文章一直都在读书,读了忘,忘了再读。不如把每次学到的东西都写下来python黑帽子black hat python黑客与渗透测试

2016-02-18 23:05:12 15813

原创 Python 连接 Hbase

Hbase 提供了 thrift 和 thrift2 两种服务供其它语言客户端调用,方便各种语言编写的程序访问 Hbase。python 作为开发效率比较高的语言,可以使用 python 完成一些简单的任务,而不需要编写 Map Reduce 程序来处理 Hbase 数据。先写这一段话,以后慢慢更新本博客。 准备封装python 访问 Hbase 的代码,项目托管到 github

2016-01-26 16:56:03 1447

原创 TLS/SSL 实例分析

TLS/SSL 示例分析简介 TLS/SSL 协议并且在 kali linux 下用 wireshark抓取 curl https://www.baidu.com 的数据详细分析这个会话的数据,一节协议格式

2016-01-26 16:48:25 1310

原创 编译 wireshark 2

kali linux 编译 wireshark

2016-01-26 15:52:59 1059

原创 vagrant doc

vagrant doc1 概述本文档是官方文档的简单摘抄翻译。2. 为什么使用 Vagrant Vagrant 是一款用来构建虚拟开发环境的工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统。   官方说法是:vagrant 提供一个简单可配置的,可复制的,移植的工作环境,可以用来建立统一可控制的统一标准的工作流环境,用于提高生查理和灵活性。如果你是开发者。。。。如果你是运

2015-12-04 09:37:46 500

原创 libpcap详解

libpcap详解转自 http://blog.chinaunix.net/uid-21556133-id-120228.html,内容不错,但是原博客的格式比较乱,重新整理了一下。libpcap(Packet Capture Library),即数据包捕获函数库,是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可移植的框

2015-10-21 16:30:23 1797

原创 python 连接 hive

由于版本的不同,Python 连接 hive 的方式也就不一样。在网上搜索关键字 python hive 的时候可以找到一些解决方案。大部分是这样的,首先把hive 根目录下的$HIVE_HOME/lib/py拷贝到 python 的库中,也就是 site-package 中,或者干脆把新写的 python 代码和拷贝的 py 库放在同一个目录下,然后用这个目录下提供的 thrift 接口调用。示例

2015-09-23 23:59:45 26774

原创 TCP/IP协议-ICMP和 ping 程序

ICMP、IGMP、UDP、TCP 协议是基于 IP 协议的。 ICMP 协议是封装在 IP 协议里的。 完整的 ICMP 报文的格式是这样的:| 以太网头部 | IP 首部 | ICMP 报文 | CRC |ICMP 协议的强大之处在于它的丰富的报文类型。可以简单简单的分为两种报文,一种是查询报文,比如ping 程序使用的回显应答;另一种是差错报文,比如主机不可达。ICMP 报文的前32位 : |

2015-09-21 18:02:07 1462

原创 TCP/IP协议学习--链路层

本博文记录作者学习 TCP/IP协议的过程,主要的学习材料是《TCP/IP 详解 卷1:协议》,下文中称为『图书』。由于这本经典图书的古老,还会参考一些其它材料。1. 链路层协议链路层的协议有:以太网协议802委员会发布的协议 802.2 链路层共同特性802.3 针对整个 CSMA/CD 网络802.4 针对令牌总线网络802.5 针对令牌环网络串行接口链路层协议:SLIP、CSLI

2015-09-21 15:14:33 693

原创 一个笔试题目

题目九宫格配合加减乘除,横竖都等于4百度知道上有人类的解法。这里讨论一下用代码来求解。假设每一个变量在0-100之间,在不使用求解公式,降维的前提下编程解题。解法1:每个未知数是一个变量,8个未知数就是8个变量,每个变量可以的取值为0-100。需要8层循环,遍历所有的变量的值。再计算公式是否符合要求。解法2:循环太多,看起来不爽,想了一个方法循环改为递归循环遍历改为递归遍历,其实性能上还不如循环,只

2015-09-06 23:06:29 689

原创 go-tour-zh离线安装

go-tour-zh是一个go语言的教程,可以在线看也可以离线安装。 在线地址为:http://go-tour-zh.appspot.com/welcome/下面介绍离线安装的方法。首先需要下载教程的离线包 使用hg下载,地址为:https://bitbucket.org/mikespook/go-tour-zh 命令为:hg clone https://bitbucket.org/mike

2015-09-06 10:59:48 3837

原创 修改C中const修饰的变量

修改C中const修饰的变量由const修饰的变量是不能修改的,但是C还有指针,通过指针可以实现间接的修改。#include<stdio.h>int main(){ const int limit = 10; int *p = &limit; printf("before: %d\n",limit); *p = 20;

2015-08-19 15:26:52 533

原创 C语言数组和指针的区别

数组和指针在编译器看来的区别在于:数组在符号表里本身就是一个地址,指针在符号表里的内容才是一个指针

2015-08-19 14:15:30 685

原创 Python实现fibnacci

今天面试python实习,其中一道题是pythonally

2015-07-31 17:32:25 638

原创 nDPI的DNS协议解析

nDPI的DNS协议解析1. 说明把nDpi的DNS协议解析部分拿出来看看,写了一些注释。使用的是nDpi的1.6版本,该版本下的文件结构比较简单,协议解析的代码都在 src/lib/protocols目录下。dns的解析代码自然就是dns.c了。nDpi的协议解析代码基本有着相同的结构,协议解析的入口函数一般定义为 ndpi_search_###。比如DNS的入口函数就是ndpi_search_

2015-06-25 16:45:56 3893

原创 DNS协议解析

DNS协议解析项目需要,所以要多DNS协议的报文进行解析。读了《TCP/IP详解 卷1》的关于DNS部分的内容后,开始写代码做解析。参考资料:http://blog.163.com/libo_5/blog/static/1569685201031433013508/ http://libo.deng.blog.163.com/blog/static/401574222007850244930/代码

2015-06-23 17:10:43 1763

原创 使用nTopng

nTopng瑞典的nTopng和我现在做的东西挺相似的,所以先在自己机器上安装了一个。是在网上搜索dpi找到的,先看到了opendpi,后来找到这家做的东西,刚更新了2.0,看起来还不错。

2015-06-04 21:42:05 3324

原创 thrift2访问hbase

使用thrift2访问hbase需求与环境项目中需要使用c++访问hbase批量导入数据,所以这两天配置了一个hadoop集群,安装了hadoop,zookeeper,hbase。 使用三台虚拟机,一个namenode节点和2个datanode节点。hbase thrift2简介hbase使用java语言编写,原生的hbase客户端是不支持C++的,所以选择使用thrift完成项目的开发。 th

2015-06-02 20:34:13 7281

原创 redis集群客户端-c语言

redis集群功能是在3.0之后才加入的,客户端的支持非常有限,只有ruby的是开发完成的,python的和java的都在开发中,所以,需要自己开发一个客户端。然后这个客户端最好要支持负载均衡,所以还是有点工作要去做的。https://github.com/0xsky/xredis 这个是网友实现的一个客户端,通过封装hiredis实现,是pool功能,估计是比较好

2015-05-19 15:11:40 2010 1

原创 基类与派生类的虚表是什么时候设定好的?在类定义完编译的时候还是类执行时动态绑定的?

// 虚函数是在构造的时覆盖子类虚表。#includeusing namespace std;class Base{public: Base() { fun(); } virtual void fun() { cout<<"this is base"<<endl; } virtual ~Base() { cout<<"~Base"<<endl; }

2014-10-22 08:47:57 882

原创 C++类的大小研究-SIZEOF-虚函数-虚表

在笔试的时候遇到了C++类本身的大小的题目,已经记不住原题了,现在那几个简单的

2014-10-17 10:04:23 1788

转载 Pycharm快捷键

Alt+Enter 自动添加包Ctrl+t SVN更新Ctrl+k SVN提交Ctrl + / 注释(取消注释)选择的行Ctrl+Shift+F 高级查找Ctrl+Enter 补全Shift + Enter 开始新行TAB Shift+TAB 缩进/取消缩进所选择的行Ctrl + Alt + I 自动缩进行Ctrl + Y 删除当前插入符所在的行Ctrl +

2013-10-21 21:55:24 735

原创 初学python

“可能不存在的键值”在获取python字典内的值的时候,如果数据不存在就会出发KeyError异常。所以为了优雅的处理这个方面的问题一般使用try/except语句,或使用python字典的get方法。

2013-08-13 14:29:40 801

原创 搬家

以前一直在百度空间里混,写一些文章,转载一些有意思的东西。今天起转到CSDN了。

2013-07-29 11:15:17 494

Storm源码走读笔记

Storm源码走读笔记 写的非常详细的代码走查笔记,对于想阅读源代码提高编程能力的同学非常有用哦。

2014-07-14

Software Similarity and Classification

软件相似度里的一本小书,讲的很全面,搜集了近几年的相关技术。很好的一本书,对相关领域的研究者有很大的帮助。

2014-05-07

C++标准函数库(中文版和英文版)

本帮助提供了C++的所有标准函数的帮助文档,包括英文版和汉化版。

2012-08-07

qt4 白皮书 说明qt的功能

使用qt和OpenGL创建跨平台可视化UI。可用于医学地理地质流程图的绘制。功能强大。

2010-11-03

qt 中文帮助文档 (汉化的help)

这是一个qt的中文版帮助文档。html版可以快速查找相关的帮助文档。

2010-11-03

java教程 PPT

胡畅霞老师的课程讲义,内容丰富,例子 丰富讲解透彻

2010-07-04

空空如也

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

TA关注的人

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