[关闭]
@FadeTrack 2016-12-01T12:32:58.000000Z 字数 3137 阅读 1652

linux 学习笔记

linux


从源开始

#kali官方源
deb http://http.kali.org/kali kali-rolling main non-free contrib
#中科大的源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

修改软件更新源配置文件:
gvim /etc/apt/sources.list

依次执行下面命令:
apt-get update & apt-get upgrade
apt-get dist-upgrade
reboot

完成 Kali 的首次更新

如何安装linux-header

how install linux-headers
1 install build-essential(optional)

$sudo apt-get install build-essential

2 install linux-headers

$sudo apt-get update

$sudo apt-get install linux-headers-$(uname -r)

第一个例子

内核模块动态加载LKM实例
Linux Rootkit系列一:LKM的基础编写及隐藏
Linux Rootkit 系列二:基于修改 sys_call_table 的系统调用挂钩
Linux Rootkit 系列三:实例详解 Rootkit 必备的基本功能
Linux Rootkit 系列四:对于系统调用挂钩方法的补充
Linux Rootkit 系列五:感染系统关键内核模块实现持久化

research-rootkit

Linux Rootkit Learning
BSD ROOTKIT 设计
CentOs 内核环境

下载完整内核

uname -r 查看内核版本

文件名:kernel-2.6.32-220.el6.src.rpm

    下载地址:http://vault.centos.org/6.2/os/Source/SPackages/

    官网:http://vault.centos.org/

解压并建立联系

总结下之前尝试过的搭建的编写Linux驱动程序的环境。由于之前的环境是centos,其他平台的差异,就自己注意下吧。
步骤如下:
Step1:下载kernel源码包,解压到/usr/src目录下
命令如下:tar Jxvf /home/yourAccount/linux-2.6.32.67.tar.xz

Step2:为系统的include创建链接文件
命令如下:
cd /usr/include
rm -rf asm linux scsi
ln -s /usr/src/linux-2.6.32.22/include/asm-generic asm
ln -s /usr/src/linux-2.6.32.22/include/linux linux
ln -s /usr/src/linux-2.6.32.22/include/scsi scsi

Step3:下载安装内核开发包
命令如下: yum install kernel-devel-2.6.32-504.el6.x86_64.rpm
如果是其他linux系统,这个命令肯定不同!注意

Step4:建立构建的软连接
命令: ln -s ../../../usr/src/kernels/2.6.32-504.el6.x86_64/ build

在用make编译过程中之前出现过如下问题:
make:* /lib/modules/.6.32-504.el6.x86_64/build/:No such file ore directory.Stop
出现这个问题的原因是系统没有安装内核开发包,可以查看/usr/src/kernals.
若该目录是空,则说明没安装。若非空,则可能链接有问题,安装上面Step4中到/lib/modules/2.6.32-504.el6.x86_64 去建立软链接

注:内核版本通过uname -r自行查看,查找匹配源码包和开发包

CenterOs 安装 CGDB

yum install readline-devel
yum install readline
ok
cgdb配置命令:
http://cgdb.sourceforge.net/docs/cgdb.html/Configuring-CGDB.html#Configuring-CGDB
解决 cgdb 中文乱码

  1. find / -name "libncursesw.so*"
  2. rm -rf libncurses.so.5
  3. ln -s /lib64/libncursesw.so.5.7 libncurses.so.5

GDB 完全教程
Linux工具快速教程 _________项目地址
linux内核调试指南
libnet libpcap

端口复用方案

http://blog.chinaunix.net/uid-7330656-id-2644670.html
http://www.cnblogs.com/royi123/archive/2013/03/12/2956655.html

TCP校验和

  1. USHORT checksum (USHORT *buffer,int size)
  2. {
  3. Unsigned long cksum=0;/*32位长整数,检验和被置为0*/
  4. While (size>1)
  5. {
  6. Cksum +=*buffer++;
  7. size -=sizeof(USHORT);
  8. }
  9. If (size) /*处理剩余下来的字段,这些字段皆小于16位*/
  10. {
  11. Cksum +=*(UCHAR *) buffer;
  12. }
  13. /*将32位转换为16位,高16位与低16位相加*/
  14. While (cksum>>16)
  15. Cksum = (cksum>>16) + (cksum & 0xffff);
  16. Return (USHORT) (~cksum);
  17. }

http://blog.csdn.net/jiangqin115/article/details/39313689

http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3739390

2)使用which命令查看ls命令的位置,如下:
which ls
# 输出:/bin/ls
3)使用rpm命令查询ls命令所属的包,如下:
rpm -qf /bin/ls
# 输出:coreutils-8.4-37.el6.i686
4)yumdownloader是一个从RPM源下载RPM的程序,可以使用yumdownloader命令安装源代码,如下:
yumdownloader --source coreutils-8.4-37.el6.i686
注:
(1)若yumdownloader命令没有安装,则可以使用此命令安装:yum install yum-utils。
(2)下载的文件在当前目录下,可以使用参数--destdir指定下载到哪一个目录。
5)使用yumdownloader下载到的是一个安装包文件rpm,可以使用如下的命令查询rpm中的tar文件:
rpm -qpl coreutils-8.4-37.el6.src.rpm | grep tar
# 输出:coreutils-8.4.tar.xz

https://ht.transparencytoolkit.org/

linux 视频解码器

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

sudo yum install vlc

linux 最好的代码阅读器
Source-Navigator

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注