- 博客(20)
- 收藏
- 关注
原创 2021-2022-1 20212806《Linux内核原理与分析》第八周作业
文章目录一、实验过程二、实验分析总结一、实验过程1.开始先更新内核,再把test_exec.c将test.c覆盖掉:2.test.c文件中增加了exec系统调用,Makefile文件中增加了gcc -o hello hello.c -m32 -static,启动内核并且检验execv函数是否正确:3.执行qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -S -s命令,启动gdb调试:4.最后退出调试状态后输入
2021-11-09 21:31:15 788
原创 2021-2022-1 20212806《Linux内核原理与分析》第七周作业
文章目录一、阅读理解task_struct数据结构二、分析fork函数对应的内核处理过程sys_clone,理解创建一个新进程如何创建和修改task_struct数据结构(一) fork()函数的理解(二)fork()函数的底层实现三、使用gdb跟踪分析一个fork系统调用内核处理函数sys_clone一、阅读理解task_struct数据结构代码及解析:struct task_struct { volatile long state; void *stack; atomic_t usage;
2021-11-06 11:20:31 295
原创 2021-2022-1 20212806《Linux内核原理与分析》第六周作业
文章目录一、给MenuOS增加命令一、给MenuOS增加命令rm -rf menu //强制删除当前menu目录git clone https://github.com/mengning/menu.gitcd menumake rootfs
2021-10-28 22:42:57 282
原创 2021-2022-1 20212806《Linux内核原理与分析》第五周作业
文章目录一、系统调用概述二、使用库函数API在屏幕上打印hello world三、C代码中嵌入汇编代码触发系统调用四、总结一、系统调用概述系统调用的意义是操作系统为用户态进程与硬件设备进行交互提供了一组接口。系统调用具有以下功能和特性。把用户从底层的硬件编程中解放出来。操作系统为我们管理硬件,用户态进程不用直接与硬件设备打交道。极大的提高系统的安全性。如果用户态进程直接与硬件设备打交道,会产生安全隐患,可能引起系统崩溃。使用户程序具有可移植性。用户程序与具体的硬件已经解耦合并用接口代替了,不会有
2021-10-19 19:54:22 104
原创 2021-2022-1 20212806《Linux内核原理与分析》第四周作业
MenuOS的构造文章目录MenuOS的构造1.Linux内核源代码简介1.Linux内核源代码简介(一)计算机的“三大法宝”存储程序计算机函数调用堆栈中断(二)操作系统的“两把宝剑”
2021-10-14 22:50:02 291
原创 2021-2022-1 20212806《Linux内核原理与分析》第三周作业
文章目录(一)C代码中嵌入汇编(二)利用mykernel模拟计算机硬件平台(三)问题总结(一)C代码中嵌入汇编(二)利用mykernel模拟计算机硬件平台(三)问题总结
2021-10-09 21:34:44 298
原创 2021-2022-1 20212806《Linux内核原理与分析》第二周作业
文章目录(一)反汇编简单C程序(二)时间片轮转内核编译(三)跟踪分析 Linux 内核的启动过程(四)问题总结(一)反汇编简单C程序1.使用命令:gcc –S –o main.s main.c -m32,对以下程序进行反汇编。// main.cint g(int x){ return x + 3;} int f(int x){ return g(x);} int main(void){ return f(8) + 1;}命令执行过程如下:
2021-10-02 20:33:11 228
原创 2021-2022-1 20212806《Linux内核原理与分析》第一周作业
文章目录一、Linux简介二、Linux与windows的对比1.免费与收费2.软件与支持3.安全性三、Linux常用基本命令一、Linux简介 Linux是一个操作系统,就像Windows(xp,7,8)和 Mac OS 一样。Linux本身只是操作系统的内核。内核是使其它程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上。二、Linux与windows的对比1.免费与收
2021-09-28 11:09:01 424
原创 实践三 网络嗅探与协议分析
20212806 2021-2022-2 《网络攻防实践》第3周作业1.实验内容(知识总结)2.实验过程3.学习中遇到的问题及解决4.学习总结参考资料1.实验内容(知识总结)网络嗅探(1)定义 网络嗅探是一种黑客常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。(2)网络嗅探器
2022-03-29 21:48:23 8288
原创 实践一 网络攻防环境的搭建
实践一 网络攻防环境的搭建1.学习总结1.1攻击机、靶机、SEED虚拟机和蜜网网关的功能1.2相关攻防软件的功能2.攻防环境搭建详细过程2.1拓扑结构图2.2从开始安装到配置结束的环境搭建过程2.2.1靶机的配置2.2.2攻击机配置2.2.3蜜罐主机的配置2.3测试攻击机、靶机、SEED虚拟机和蜜网网关的连通性2.3.1在蜜罐主机中通过tcpdump -i eth0 icmp监听连通性:2.3.2 利用Kali linux攻击机ping WinXPattacker虚拟机3.学习中遇到的问题及解决4.学习感想
2022-03-16 11:25:29 9904
原创 Return-to-libc攻击实验
文章目录一、实验描述二、实验准备2.1 输入命令安装一些用于编译 32 位 C 程序的软件包2.2 输入命令 linux32 进入 32 位 linux 环境,输入 /bin/bash 使用 bash![在这里插入图片描述](https://img-blog.csdnimg.cn/6e05f6fd509642b0964eae0d5b4410fa.png)三、实验步骤3.1初始设置一、实验描述 缓冲区溢出的常用攻击方法是用
2021-12-05 10:13:26 969 2
原创 SET-UID程序漏洞实验
文章目录一、没有 Set-UID 机制的情况一、没有 Set-UID 机制的情况猜测为什么 passwd,chsh,su,和 sudo 命令需要 Set-UID 机制,如果它们没有这些机制的话,会发生什么。如果你不熟悉这些程序,可以通过阅读使用手册来熟悉它们。如果你拷贝这些命令到自己的目录下,这些程序就不会是Set-UID程序。1、查看用户手册2.从下面的截图可以看出:将 passwd 拷贝到 /tmp/ 下,权限发生了变化(在原目录下 suid 位 被设置),复件没有了修改密码的权限。对于 c
2021-12-05 10:10:42 391
原创 2021-2022-1 20212806《Linux内核原理与分析》第九周作业
文章目录一、Linux系统进程调度与进程切换过程(一)进程调动(二)进程切换(三)switch to代码分析二、使用 gdb 跟踪分析一个 schedule()函数三、总结一、Linux系统进程调度与进程切换过程(一)进程调动1.中断处理过程(包括时钟中断、I/O 中断、系统调用和异常)中,直接调用schedule,或者返回用户态时根据 need_resched 标记调用 schedule。2.内核线程可以直接调用 schedule 进行进程切换,也可以在中断处理过程中进行调度,也就是说内核线程作为
2021-11-16 22:15:26 303
原创 密码卡的应用
文章目录一、硬件安装密码卡外观主机内部的卡槽,用于插密码卡将密码卡插入卡槽中二、测试密码卡是否可用三、测试密码卡中的密码算法执行bin,对lucky.txt进行加密(使用的是SM4对称加密算法)执行bin,对Enc_lucky.txt进行解密(使用的是SM4对称解密算法)执行bin,对lucky.txt进行签名(再强调一遍,这个文件必须为32字节,不然会报错)执行bin,对lucky.txt进行验签执行bin,使用SM3算法生成随机数总结一、硬件安装密码卡外观主机内部的卡槽,用于插密码卡将密码卡
2021-11-16 15:21:37 2087
原创 树莓派OpenEuler的安装与实验
文章目录安装准备获取安装源镜像完整性校验安装准备获取安装源镜像完整性校验1.在安装开始前,您需要获取 openEuler 发布的树莓派镜像及其校验文件。2. 登录 openEuler社区 网站下载链接。
2021-10-31 09:21:30 1202
原创 STM32的DMA模块及Protues仿真实验
(一)DMA简介 DMA(Direct Memory Access,直接存储器访问), 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据。这样节省的 CPU 资源可 供其它操作使用。 STM32F407共有两个 DMA 控制器,总共有 16 个数据流(每个控制器 8 个),每一个 DMA 控制器都用于管理 一个或多
2020-05-29 21:34:17 2352 3
原创 码云-git版本控制系统的使用
文章目录一、版本控制系统的介绍二、码云公钥管理三、Linux上git基本操作一、版本控制系统的介绍 版本控制(Revision control)是一种软件工程技巧,籍以在开发的过程中,确保由不同人所编辑的 同一档案都得到更新。它会记录程序各个模组的改动,并为每次改动编上序号,这样可以查看所有的 修改历...
2020-03-14 22:34:27 236
原创 进程间通信方式(Linux)
一、进程间通信方式 如果多个进程之间需要协同处理某个任务时,这时就需要进程间的同步和数据交流。常用的进程间通信(IPC,InterProcess Communication)的方法有:1.信号(sinal):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。2. 管道(Pipe):管...
2020-03-10 21:46:35 345
原创 Linux下socket通信
文章目录(一)客户端发送数据给服务器的流程(一)客户端发送数据给服务器的流程1, PC上浏览器希望发送“百度,你好!”这个数据给百度服务器,因为百度服务器的IP地址(220.181.57.216)不好记,所以我们访问某个服务器时通常都不是使用IP地址,而是域名(baidu.com)。但在计算机网络TCP/IP协议栈中是通过IP地址来标识每一个结点的(包括主机、无线路由器等),这时我们需要一种机...
2020-03-07 22:26:24 263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人