linux安全第五周总结

一、学习部分

1.如何给menuOS增加自己编写的命令Getegid,GetegidAsm?

1、强制删除menu (rm menu -rf)

2、更新menu代码至最新版本(git clone https://github.com/mengning/menu.git)

3、在test.c中main函数中增加MenuConfig,以及增加上周自己选择Getegid,GetegidAsm的代码

4、Make roofts自动编译,生成,和启动根文件系统

2.gdb跟踪自己编写的系统调用函数Getegid,GetegidAsm

使用gdb跟踪调试内核

qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S # 关于-s和-S选项的说明:

# -S freeze CPU at startup (use ’c’ to start execution)

# -s shorthand for -gdb tcp::1234 若不想使用1234端口,则可以使用-gdb tcp:xxxx来取代-s选项

3.另开一个shell窗口

gdb

(gdb)file linux-3.18.6/vmlinux # 在gdb界面中targe remote之前加载符号表

(gdb)target remote:1234 # 建立gdb和gdbserver之间的连接,按c 让qemu上的Linux继续运行

(gdb)break start_kernel # 断点的设置,注意寻找对应的系统调用函数名字,例如time命令对应sys_time

时间: 2024-12-21 13:26:48

linux安全第五周总结的相关文章

马哥linux作业第五周'

1.显示当前系统上root.fedora或user1用户的默认shell: egrep "^(root|fedora|user1)\>" /etc/passwd |cut -d: -f1,7 root|fedora|user1表示三者符合其一的选择条件 ()使其归组 ^表示以后面归组的条件开头 \>表示以空字符截断此前的条件字符,即后跟其它字符的单词将不匹配 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello():

Linux系统管理第五周作业【Linux微职位】

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥(Network Bridge):工作在OSI模型的第二层数据链路层,主要用于将两个局域网(LAN)连起来,根据MAC地址来转发帧(Frame).它可以有效地联接两个局域网,使本地通信限制在本网段内,并转发相应的信号至另一端.网桥主要用于联接数量不多.同一类型的网段. 集线器(Hub):工作在OSI的第一层物理层,主要用于对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上

linux培训第五周作业

本周作业内容: 1.显示当前系统上root.fedora或user1用户的默认shell: egrep "^\<root|fedora|user1\>" /etc/passwd | cut -d: -f7 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(): egrep "^[[:alnum:]]*\(\)" /etc/rc.d/init.d/functions 3.使用echo命令输出一个

Linux的第五周作业

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 1.网桥用来隔离冲突域,网桥属于二层网络设备. 2.集线器:连接到集线器的主机都属于一个冲突域,一个冲突域中同一时间内只能有一个主机发送信息. 3.二层交换机:就是高级网桥,或者说是可以连接更多主机的网桥,功能与网桥一样 4.三层交换机:三层交换机拥有二层交换机的所有功能,三层交换机可以支持一些三层功能比如三层组播,路由协议. 5.路由器:可以让不同网段的主机通信.路由器位于主机网关的位置. 2.IP地址的分类有哪些

Linux第十五周

1.总结sed和awk的详细用法: sed Sed本质上是一个编辑器,但是它是非交互式的:同时它又是面向字符流的,输入的字符流经过sed的处理后输出. Sed本身是一个管道命令,可以分析standard input的,主要是用来分析关键字的使用.统计等,此外还可以将数据进行替换.删除.选取特定行等功能 格式:sed [option] ... 'script' inputfile... script: '地址命令' 常用选项: -n:不输出模式中的内容至屏幕,只列出经过sed处理过的那一行. -e

linux五周第三次课(3月7日)笔记

五周第三次课(3月7日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 搜索看一下有没有这两个shell,不安装. 8.2 命令历史 用过的命令,在/root/.bash_history存着 用cat命令查看一下/root/.bash_history 可以用命令history查看一下之前使用过的命令 history -c 修改了/etc/profile 配置文件,运行source命令,使其生效. 指定什么时候运行. 变量变了. 历史命令. 想要生

Linux第五周上课笔记(1),rpm软件安装,yum源,yum仓库

第五周上课笔记 一.应用软件的安装 1.认识软件:|libmp3lame0|-3.99.3-23|.el7|.x86_64|.rpm 软件名     软件版本   适用系统 64位  红帽适用软件 2.如何安装软件 1.rpm rpm      -vih    name.rpm      安装,-v:显示过程,-h:指定加密方式为哈希加密 -e      name          卸载 -q      name          查询软件生成文件 -qlp  name.rpm        查

201405644 嵌入式程序设计第五周学习总结

嵌入式课程设计第五周学习总结 标准 I/O 编程 标准 I/O 提供流缓冲的目的是尽可能减少使用 read()和 write()等系统调用的数量.标准 I/O 提供了 3 种类型 的缓冲存储.全缓冲.行缓冲.不带缓冲. 打开文件 打开文件有三个标准函数,分别为:fopen().fdopen()和 freopen().其中 fopen()可以指定打开文件的路径和模式,fdopen()可以指定打开的文件描述符和模式,而 freopen() 除可指定打开的文件.模式外,还可指定特定的 I/O 流. f

2014025689 《嵌入式系统程序设计》第五周学习总结

<嵌入式系统程序设计>第五周学习总结 一.6.5(标准I/O编程)主要涉及的函数及知识点 标准的I/O的三种缓冲存储:全缓冲.行缓冲.不带缓冲. 1. 全缓存:当填满标准I/O缓存后才进行实际的I/O操作 2. 行缓存:当输入或输出中遇到行结束符时,标准I/O库执行I/O操作 3. 不带缓存:标准I/O库不对字符进行缓冲 打开文件的三个标准函数:  fopen().fdopen()和 freopen(). -fopen()可以指定打开文件的路径和模式 函数原型:FILE * fopen(con