test Blog
Happy living

深入Linux网络核心堆栈 0

2009年4月30日 06:26 in linux tags: linux 网络


Ubuntu-Firefox乱码问题 0

2009年4月21日 22:17 in linux tags: ubuntu firefox 乱码


Adore rootkit 分析 1

2009年4月16日 23:51 in linux tags: lkm Adore


proc文件系统剖析 1

2009年4月15日 22:45 in linux tags: 文件系统 proc


Linux 文件基本知识 0

2009年4月15日 04:12 in linux tags: linux 文件


使用kprobes,截获execve系统调用 1

2009年4月08日 01:42 in linux tags:


做迷你 Linux 系统 0

2009年4月06日 23:07 in linux tags: 迷你 linux 系统


脚本中字符串的截取 0

2009年4月04日 00:42 in linux tags: 字符串截取


LKM Rootkits on Linux x86 v2.6 1

2009年4月03日 20:50 in linux tags: lkm Rootkits

=-|================================================-{ www.enye-sec.org }-====|
=-[ LKM Rootkits on Linux x86 v2.6 ]-========================================|
=-|==========================================================================|
=-[ por RaiSe <raise@enye-sec.org> ]-========================-[ 26/09/2005]-=|
=-[ 译者:王耀 <wangyao at cs.hit.edu.cn> ]-======================-[ 24/02/2008]-=|

注:原文是西班牙文,所以翻译比较吃力,所以有些地方是我按照自己理解来翻译的。
原文:http://www.enye-sec.org/textos/lkm.rootkits.en.linux.x86.v2.6.txt


ubuntu编译内核实例 1

2009年4月01日 00:24 in linux tags: ubuntu 编译 内核


ldd3编译模块的原理和方法 0

2009年3月31日 04:02 in linux tags: 编译 模块

编译内核模块的方法与编译一般应用程序的方法略有不同. 我们会发现在内核源码树的层层目录中, 都存在有Makefile. 即这些Makefile是分层次组织的. 以往的内核版本中, 编译模块比较麻烦, 需要我们对这些Makefile做出许多更改. 2.6的内核采用了"kbuild"编译系统, 简化了这些问题. 关于kbuild, 可参考内核源码树中的 /Documentation/kbuild/modules.txt.


怎样在没有完整源码树的情况下为所安装的内核编译模块 1

2009年3月29日 23:35 in linux tags: 编译 模块 源码树

To be frank you do not need a new full source tree in order to just compile or build module against the running kernel i.e an exploded source tree is not required to build kernel driver or module. The instruction outlined below will benefit immensely to a developers/power users.


内核模块加载时的版本检查 0

2009年3月29日 23:21 in linux tags: 内核模块 版本

2.4内核下,执行“cat /proc/ksyms”,将会看到内核符号,而且在名字后还会跟随着一串校验字符串,此校验字符串与内核版本有关。在内核源码头文件linux/modules目录下存在许多*.ver文件,这些文件起着为内核符号添加校验后缀的作用,如ksyms.ver文件里有一行#define printk _set_ver(printk),linux/modversions.h 文件会包含所有的.ver文件。所以当模块包含linux/modversions.h文件后,编译时,模块里使用的内核符号实质上成为带有校验后缀的内核符号。在加载模块时,如果模块使用的内核符号的校验字符串与当前运行内核所导出的相应的内核符号的校验字符串不一致,即当前内核空间并不存在模块所使用的内核符号,就会出现“Invalid module format ”的错误。


Linux下Socket编程 0

2009年3月14日 22:48 in linux tags: linux socket

网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。


修改 ubuntu 的3个画面 0

2009年3月13日 01:56 in linux tags:

一、Usplash画面(开机/启动画面)

它就相当于Windows的开机/启动画面,因为 ubuntu 使用usplash这个软件作为启动画面,所以我们就叫它为Usplash画面。

修改这个画面是3个中难度最高的,如果使用Splashy的话就要简单多了。默认的启动画面在这里/usr/lib/usplash/usplash-default.so,它是一个编译好的.so文件,所以不能直接修改。制作方法见这里,以下是替换Usplash画面的方法。


在Linux对终端的几个操作 0

2009年3月11日 02:01 in linux tags:
当然,如果使用一些现有的库(比如 ncurses),本文就没什么信息量了,现在假设我们要自己造轮子。

获取终端的宽度和高度:
#include <sys/ioctl.h>
struct winsize sz;程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛*E8G9K,C/X7_#k
ioctl (1, TIOCGWINSZ, &sz);3o$z6k7o9S5?
printf ("Width=%d\n, Height=%d\n", (int)sz.ws_col, (int)sz.ws_row);3w!m;f;H$f k8}
8h;~;D7b)Z8{9I%a
ioctl 的第一个参数 1 是要获得的终端的文件描述符(文件号),如果它指向的文件是终端以外的东西,ioctl 函数会失败。

. 显示/隐藏光标(这里看到的):用两个转义序列
"\033[?25l": 隐藏光标(最后面的是字母 l 不是数字 1)
"\033[?25h": 显示光标

3. 终端下的鼠标支持TechWeb-技术社区5p:L1`)k2l9|.m+a2t$[1k1W8r
xterm 兼容的终端支持鼠标操作,默认情况下关闭,用控制序列 "\033[?1000h" 开启,用 "\033[?1000l" 关闭。%n.V%T'| b-]2u2O2X

在启动鼠标报告模式以后,鼠标对终端有动作时(按下/释放鼠标键,滚动滚轮)时,从这个终端就可以读到六个字节的转义序列 [ M b x y。从 b 是可以得知现在的事件(按下/释放哪个鼠标键,滚轮向哪个方向滚动等),从 (x, y) 可以当前鼠标的位置。详情参见 "man console_codes"(页面搜索 mouse)

 


Linux程序设计——用getopt处理命令行参数 0

2009年3月11日 00:49 in linux tags: getopt 处理 命令行参数

Linux下很多程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。getopt()是一个专门设计来减轻命令行处理负担的库函数。


Linux常用C函数-日期时间篇 1

2009年3月10日 03:37 in linux tags: linux C函数

 

asctime, time,ctime,gmtime,localtime, settimeofday, gettimeofday, mktime


strftime()函数将时间格式化 0

2009年3月10日 02:36 in linux tags:

我们可以使用strftime()函数将时间格式化为我们想要的格式。它的原型如下:

size_t strftime(
     char *strDest,
     size_t maxsize,
     const char *format,
     const struct tm *timeptr
);

我们可以根据format指向字符串中格式命令把timeptr中保存的时间信息放在strDest指向的字符串中,最多向strDest中存放maxsize个字符。该函数返回向strDest指向的字符串中放置的字符数。


Linux内核引导参数简介 0

2009年3月07日 01:09 in linux tags:

作者:金步国

概述
内核引导参数大体上可以分为两类:一类与设备无关、另一类与设备有关。内核源码树下的 Documentation/kernel-parameters.txt 文件列出了所有可用的引导参数,并指明了处理每个参数的具体文件。注意:对于模块而言,引导参数只能用于直接编译到核心里的模块,格式是使用"模块名.参数=值"模式指定,比如:usbcore.blinkenlights=1 。动态加载的模块可以在 modprobe 命令行上指定相应的参数值,比如:modprobe usbcore blinkenlights=1 。

可以使用"modinfo -p ${modulename}"命令显示可加载模块的所有可用参数。已经加载到内核中的模块会在 /sys/module/${modulename}/parameters/ 中显示出其参数,并且某些参数的值还可以在运行时通过"echo -n ${value} > /sys/module/${modulename}/parameters/${parm}"命令修改。


【转】利用XRDP远程登陆linux系统 0

2009年3月06日 00:11 in linux tags: 远程登陆 linux

一般情况下我们用ssh客户端远程登陆inux系统,至于图形界面下的linux远程登陆工具,我们一般都会想到vnc,但它的安全性不够,在这里,我将介绍XRDP的安装配置方法。


[转]Linux内核漏洞浅析 0

2009年3月05日 03:56 in linux tags:

与Windows 相比,Linux被认为具有更好的安全性和其他扩展性能。这些特性使得Linux在操作系统领域异军突起,得到越来越多的重视。随着Linux应用量的增加,其安全性也逐渐受到了公众甚或黑客的关注。那么,Linux是否真的如其支持厂商们所宣称的那样安全呢?本期我们请到了启明星辰信息技术有限公司积极防御实验室工程师赵伟,对Linux进行专业的漏洞技术分析。


[转]Ubuntu架设LAMP 0

2009年2月25日 09:02 in linux tags:

原来架设LAMP,需要apt安装很多包,记住那些包的名字是一件非常痛苦的事情,这里介绍另外一个简单方便的方法,使用tasksel安装LAMP套件。

先说说什么是Tasksel,它是一个Debian下的安装任务套件,如果你为了使你的系统完成某一种常规功能,而需要安装多个软件包时,我们就可以使用它了。这句话是什么意思呢?比如说,我们需要安装LAMP架设一个web服务器,为了完成这个功能,我们一般需要安装很多个软件包,用apt的话,我们就需要分别安装这些包(包含apache2、php5等等),以便构成一个完整的(符合我们要求的)LAMP系统。而如果使用tasksel的话,就可以用它方便的给我们安装一个完整的LAMP套件,而无须我们去关心具体需要由哪些包来构成这个统一的套件。在这里,LAMP是一个例子,象gnome-desktop等也同理。