linux 编程
文章平均质量分 75
sealyao
这个作者很懒,什么都没留下…
展开
-
linux 系统调用劫持
如果一个木马要隐藏起来,不被系统管理员发现。截获系统调用似乎是必须的。大部分情况下,通过修改系统调用表来实现系统调用的劫持。下面是一个典型的截获系统调用的模块:模块一:#include #include #include #include #include #include #include #include #include MODULE_LICENS转载 2009-09-19 11:50:00 · 8287 阅读 · 7 评论 -
GCC中常见预定义宏的使用
gcc中常见预定义宏的使用。原创 2011-01-30 11:01:00 · 17285 阅读 · 3 评论 -
iptables/netfilter命令、实现及利用
iptables/netfilter概述;iptables常用命令;netfilter内核数据结构、实现原理以及netfilter的利用。原创 2010-10-11 22:07:00 · 13807 阅读 · 0 评论 -
TCP的核心算法在lwip中的实现
TCP的核心协议(滑动窗口、拥塞控制、慢启动、快速重传、快速恢复、Nagle算法、捎带ACK等)在lwip中的实现。原创 2010-08-25 21:04:00 · 14078 阅读 · 1 评论 -
openssl证书制作及编程
openssl证书制作及编程原创 2010-07-29 19:56:00 · 6848 阅读 · 4 评论 -
公钥、私钥、证书的基本概念和使用
公钥、私钥、证书的概念、生成过程和使用方法。原创 2010-07-24 19:17:00 · 41038 阅读 · 0 评论 -
linux C gbk utf-8编码转换
用linux C 下的函数调用创建中文目录、文件等,字符串的编码格式要求是utf-8格式的。 比如想要使用 int mkdir(const char *pathname, mode_t mode); 创建一个中文的目录。那么pathname的编码格式要求是utf-8的,而不能是gb3212/gbk的,否则就是乱码。 那么如果linux C下如何进行gbkutf-8编码转换的编码装换原创 2009-12-20 13:42:00 · 27874 阅读 · 3 评论 -
关于linux kernel的死法
最近在调试linux内核驱动,宕机无数次。关于linux的死法也有些心得。 1、嘎嘣儿脆型。 特点:啥提示也没有,说宕就宕,/var/log/messagesXXX,里边啥提示信息也没有。 原因:八成是你自己没玩儿好,在kernel里边内存越界了。还有两成是超过了linux核心栈8K的限制。2、半死不活型。 特点:ssh不上,但是ping是能ping原创 2009-12-12 07:51:00 · 1649 阅读 · 1 评论 -
开启linux 内核线程
函数说明: kthread_create:创建线程。struct task_struct *kthread_create(int (*threadfn)(void *data),void *data,const char *namefmt, ...); 线程创建后,不会马上运行,而是需要将kthread_create() 返回的task_struct指针传给wake_up_pr原创 2009-11-02 18:26:00 · 4473 阅读 · 0 评论 -
linux 内核中得到 当前进程 对应的可执行文件的 绝对路径
标题很拗口。这两天在折腾这个事,把折腾的结果记录一下。 先说在应用层怎么搞这个事,很简单:#include #include int main() { char link[100], path[100]; sprintf(link, "/proc/%d/exe", getpid()); readlink(link, pat原创 2009-10-28 18:20:00 · 4401 阅读 · 2 评论 -
安裝 DazukoFS
原文(繁体中文):http://don.7mix.net/archives/192 安裝 DazukoFS:DasukoFS官网:http://dazuko.dnsalias.org/wiki/index.php/Main_PageDazukoFS下载:http://dazuko.dnsalias.org/wiki/index.php/Downloads# uname -a转载 2009-10-29 11:36:00 · 1896 阅读 · 0 评论 -
图说adore-ng之端口隐藏
端口隐藏,使用户无法通过netstat之类的命令,得到我们需要隐藏的端口信息。netstat是通过读/proc/net下的文件来完成的。Strace可以看出:netstat的主要操作有:open/read 文件/proc/net/tcp,/proc/net/udp,/proc/net/raw ……,如下图:adore-ng的实现: adore默认隐藏的是tcp协议的端口原创 2009-10-20 13:11:00 · 2166 阅读 · 0 评论 -
图说adore-ng之进程隐藏
进程隐藏,使用户无法通过ps,top之类的命令,得到我们需要隐藏的进程信息。ps,top也是通过读/proc下的文件来完成的。Strace可以看出:ps,top的主要操作有:open/read 文件/proc/XXX/stat和/proc/XXX/status,其中XXX是进程号;sys_getdents64。如下图: 问题是我们在劫持readdir的时候,是不知道哪些进程是需要隐藏的原创 2009-10-14 08:25:00 · 2448 阅读 · 1 评论 -
图说adore-ng之文件隐藏
文件隐藏说到底就是让ls、find一类的操作所返回的结果中没有需要隐藏的文件、目录。而ls、find本质上是对目录的读操作。我们要劫持它的读操作函数,让它读不出来。那读操作那个函数在哪呢?见下图。 上图是以普通文件为例说明的,目录也是类似的。只不过名字不同叫ext2_dir_operations和ext2_dir_inode_operations。说来说去怎么修改呢?见下图。原创 2009-10-12 08:21:00 · 2133 阅读 · 0 评论 -
linux 2.6.X 文件相关结构体总结
Linux2.6X内核中文件相关结构体总结一、 常见文件相关结构体以2.6.22为例,其他的2.6.X版本可能调整,但是变化不大。1.1 struct filestruct file结构体定义在include/linux/fs.h中定义。文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的struct file。它由内核在打开文件时创建,并传递给在文件上进行原创 2009-10-02 09:26:00 · 7446 阅读 · 8 评论 -
netlink socket编程之why & how
netlink socket编程之why & how 作者: Kevin Kaichuan He@2005-1-5 翻译整理:duanjigang @2008-9-15duanjigang1983@126.com>原文: http://www.linuxjournal.com/article/7356 开发和维护内核是一件很繁杂的工作,因此,只有那些最重要或者与系统性能息息相关的代码才将其安排转载 2009-10-02 22:02:00 · 4277 阅读 · 1 评论 -
netlink编程注意事项
最近用了一下netlink,比较方便。特将netlink编程中的注意事项列下: 1、选一个没有用到的协议类型,注意要避开netlink.h中已经定义好的类型。注意保证内核层和用户层的协议类类型的一致。也就是说内核层创建netlink函数netlink_kernel_create的第一个参数和用户层创建socket的socket函数的第三个参数要一致。否则是不能建立连接的。原创 2009-10-02 22:08:00 · 12826 阅读 · 8 评论 -
内核中sleep的方法
#ifndef SLEEP_MILLI_SEC#define SLEEP_MILLI_SEC(nMilliSec) /do { /long timeout = (nMilliSec) * HZ / 1000; /while(timeout > 0) /{ /timeout = schedule_timeout(timeout); /} /}while(0);#e转载 2009-09-23 18:09:00 · 5118 阅读 · 0 评论 -
如何实现SSH断开后 进程仍然在后台运行
下面是转载的部分。在进行ps验证的时候,可以用 ps xj参数更为直观。=====================================================对于linux运维,我们都是使用ssh登录到服务器,如果我们运行的任务需要很长时间或不间断运行,在我们直接关闭终端窗口或网络不稳定的情况下,任务就会中断,当然这只对于普通程序,不包括如mysqld,httpd这样的转载 2011-12-08 16:24:47 · 4503 阅读 · 0 评论