2012年6月30日
摘要: 接上篇linux下libpcap抓包分析一、系统环境1、系统及类库要求:类Unix系统+libpcap库+libnet库+pcre库;2、各组件版本要求:libpcap 1.0以上;libnet 1.1以上;pcre 7.5以上;注意:对于不同类Unix系统及相同类型不同发行版的Unix系统,libpcap安装组件可能会不同;例如:对于Fedora,系统可能没有libpcap安装所必须的组件,所以,需要预先bison、flex、m4等软件包。3、普通情况下,安装步骤如下:a)、解压libpcap压缩包;b)、进入libpcap安装目录;c)、使用root用户依次执行: (sudo) ./con 阅读全文
posted @ 2012-06-30 21:03 Seiyagoo 阅读(2353) 评论(4) 推荐(1) 编辑
  2012年6月18日
摘要: 转自:http://keren.blog.51cto.com/720558/170822在C程序中,文件由文件指针或者文件描述符表示。ISO C的标准I/0库函数(fopen, fclose, fread, fwrite, fscanf, fprintf等)使用文件指针,UNIX的I/O函数(open, close, read, write, ioctl)使用文件描述符。下面重点来说下,文件描述符是如何工作的。文件描述符相当于一个逻辑句柄,而open,close等函数则是将文件或者物理设备与句柄相关联。句柄是一个整数,可以理解为进程特定的文件描述符表的索引。先介绍下面三个概念,后面讲下open 阅读全文
posted @ 2012-06-18 13:25 Seiyagoo 阅读(276) 评论(0) 推荐(0) 编辑
  2012年5月26日
摘要: 由前2篇文章做基础,现在可以理解系统调用了。用户空间栈&系统空间栈中断&异常系统调用定义 系统调用是内核提供的一系列强大的函数。它们在内核中实现,然后通过一定的方式(X86是软中断,也即门陷入)呈现给用户,是用户程序与内核交互的接口。 注意,我们在程序中用调用read、write函数时,这些不是系统调用函数,而是glibc库包装后,进行一些处理,然后再调用系统调用。如果想在程序中直接调用的话,需要调用_syscall()函数。上下文(context) 上下文简单说来就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文 阅读全文
posted @ 2012-05-26 16:34 Seiyagoo 阅读(1587) 评论(0) 推荐(0) 编辑
摘要: 中断分类 类别原因返回行为例子广义中断异步中断(狭义中断)中断(interrupt)可屏蔽中断来自I/O设备的信号总是返回到下一条指令所有的IRQ中断不可屏蔽中断电源掉电和物理存储器奇偶校验同步中断(也称异常)陷阱(trap)有意的异常总是返回到下一条指令系统调用、信号机制(通过软中断实现)故障(fault)潜在可恢复的错误返回到当前指令缺页异常、除0错误、段错误终止(abort)不可恢复的错误不会返回硬件错误 注:80386有两根引脚INTR和NMI接受外部中断请求信号,INTR接受可屏蔽中断请求。在80386中,标志寄存器EFLAGS中的IF标志决定是否屏蔽可屏蔽中断请求。中断的定... 阅读全文
posted @ 2012-05-26 12:58 Seiyagoo 阅读(2010) 评论(1) 推荐(0) 编辑
摘要: 用户空间栈 & 系统空间栈以下简称用户栈、内核栈1、用户栈和内核栈的区别 内核在创建进程的时候,在创建task_struct的同时,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。记住,进程对应的用户栈和内核栈都是进程私有的。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。 注:有些系统中专门为全局中断处理提供了中断栈,但是x86中并没有中断栈,中断在当前进程的内核栈中处理。2、linux中有多少个内核栈 在/inclu. 阅读全文
posted @ 2012-05-26 01:48 Seiyagoo 阅读(6979) 评论(1) 推荐(1) 编辑
  2012年5月17日
摘要: NAT换为Bridge方式环境说明:win7+VMware 7.1.3+ubuntu 10.040、首先确认一下3个网络相关的配置文件(不包含start和end行): 其中managed=true很关键;另外,下面网卡配置后需要重启sudo /etc/init.d/networking restart1)、/etc/network/interfaces:-----------start-----------auto loiface lo inet loopbackiface ppp0 inet pppprovider ppp0auto ppp0auto dsl-providerifa... 阅读全文
posted @ 2012-05-17 22:13 Seiyagoo 阅读(966) 评论(0) 推荐(0) 编辑
  2012年5月15日
摘要: 标注(*)的为解决方案1、进入phpmyadmin管理页面,选择drupal网站对应的数据库,然后是选择users表=>编辑说明:用户的ID是在用户注册时或者管理员创建用户时所分配的一个整数。这个ID是users表中的主键。匿名用户的uid是0,安装时创建的管理员的uid是1,uid为1的用户是不受Drupal权限管制的,具有最高权限。(*)这里主要关注pass栏(登陆密码);其他栏目具体含义可以参考http://www.weakweb.com/articles/tag/drupal7-%E7%94%A8%E6%88%B72、drupal不同版本对于口令(密码)加密采用的是不同算法:dr 阅读全文
posted @ 2012-05-15 01:43 Seiyagoo 阅读(1867) 评论(2) 推荐(0) 编辑
  2012年4月28日
摘要: 一、首先下载libpcap包http://www.tcpdump.org/#latest-release 然后安装,安装完成后进入安装根目录的tests文件夹,编译运行findalldevstest.c(编译时加上-lpcap),查看是否发现所有网络设备。二、下载wireshark观察抓包软件的各... 阅读全文
posted @ 2012-04-28 19:03 Seiyagoo 阅读(14905) 评论(7) 推荐(2) 编辑
  2012年4月7日
摘要: 最近写了两个程序,模拟操作系统的算法,只是基本实现了课本上的基本功能,实际应该是很复杂的。模拟LRU页面置换算法: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #define TN 3 //分配给该程序的主存页数 6 #define PN 10 //地址流 7 8 typedef struct PAGE{ 9 int kPage; //the kth line 分配给该程序的主存页数的索引 10 int aPag... 阅读全文
posted @ 2012-04-07 23:25 Seiyagoo 阅读(1329) 评论(0) 推荐(0) 编辑
  2012年3月31日
摘要: 1 /** 2 *矩阵计算类 3 */ 4 class Matrix{ 5 6 /* 7 * 根据字符串解析密钥矩阵 8 * param key 密钥 9 * param rank 密钥矩阵的阶 10 * return 返回密钥矩阵 11 */ 12 public static int[][] getKeyMatrix(String key,int rank){ 13 key=key.trim(); 14 String[] akey=key.split(" "); 15 ... 阅读全文
posted @ 2012-03-31 22:30 Seiyagoo 阅读(1695) 评论(0) 推荐(0) 编辑