20155219 mybash的实现】的更多相关文章

第五周加分题--mybash的实现 题目要求 1.使用fork,exec,wait实现mybash 2.写出伪代码,产品代码和测试代码 3.发表知识理解,实现过程和问题解决的博客(包含代码托管链接) exec函数组 一个程序如何运行另一个程序呢? 我们得搞清楚需要调用什么函数来完成这个过程.如果想使用man -k xxx这个命令进行搜索. 试试man -k program | grep execute 如下图: 再进一步使用man -k execute搜索,通过观察说明,我们找到了一系列相关的函…
Mybash的实现 要求: 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 背景知识 1. fork 使用man 2 fork查看fork文档 计算机程序设计中的分叉函数. 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记:否则,出错返回-1. 调用n次fork,会产生2^n个进程. 验证结果 2.exec 此处参考exec系列函数(execl,execlp,execle,execv,ex…
题目要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 学习fork,exec,wait fork man fork fork 这个英文单词在英文里是"分叉"意思, fork() 这个函数作用也很符合这个意思. 它的作用是复制当前进程(包括进程在内存里的堆栈数据)为1个新的镜像. 然后这个新的镜像和旧的进程同时执行下去. 相当于本来1个进程, 遇到fork() 函数后就分叉成两个进程同时执行…
2017-2018-1 20155306 <信息安全系统设计基础>Mybash的实现 要求: 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 知识基础: 1.shell shell命令分为 内建命令 & 外部命令 内建命令(builtin command) 是shell解释程序内建的,由shell直接执行,不需要派生新的进程. 外部命令分为两种: 二进制代码 或 shell脚本.shell执行…
一.了解 mybash 1. 简介   bash 是 Bourne Again Shell 的缩写,是linux默认的标准shell(也是大家常说的系统内核),bash也是Unix/Linux上常见的Shell脚本解释器,既然bash是标准的shell,那么就有非标准的sh,csh,ksh等等,我们常说有多少种Shell,其实说的是Shell脚本解释器,Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,bash是基于Bourne shell创建的,并且吸收了C shell和Korn…
使用fork,exec,wait实现mybash - 写出伪代码,产品代码和测试代码 - 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 1.fork 功能:创建一个新的进程 一个现存进程调用fork函数是linux内核创建一个新进程的唯一方法(交换进程.init进程和页精灵进程并不是这样,这些进程是由内核作为自举过程的一部分以特殊方式创建的). 参数:pid_t fork(void);返回值:一个是子进程返回0,第二个是父进程的返回值大于0.错误返回-1.头文件:include<u…
实验后回答问题 1.SQL注入攻击原理,如何防御 ·SQL攻击的原理很简单,就是在用户名输入框里输入SQL语句,来欺骗数据库服务器进行恶意操作 ·防御可以从以下几个方面下手: (1)在web网页设计的时候禁止用户输入的内容写入后台执行程序 (2)设置过滤条件,将可疑的语句过滤掉 2.XSS攻击的原理,如何防御 ·XSS攻击的原理主要是通过输入可执行代码来获取目标网站的cookie,从而实现用其他人的身份登录,并进行攻击 ·关于XSS的防御也可以设置过滤语句,对于代码.可执行语句等一律过滤掉 3.…
1.基础问题回答 (1)杀软是如何检测出恶意代码的? 杀毒软件有一个病毒的特征码库,通过识别恶意代码的特征码或者特征片段检测恶意代码 杀毒软件通过动态检测对象文件的行为来识别恶意代码,如果他的行为在一定程度上和病毒相符,那么我们说这是一个恶意代码 (2)免杀是做什么? 避免恶意代码被杀毒软件查杀 (3)免杀的基本方法有哪些? 通过加壳.重组编码shellcode来改变恶意代码的特征码 通过改变恶意代码的操作方式及通讯方式等行为来避免被查杀 3.离实战还缺些什么技术或步骤? 现在的杀毒软件的各种特…
一.pwd 1.学习pwd命令 man pwd查看pwd功能 可以得知pwd功能是打印当前目录 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 (1)man -k directory | grep 2查看是否有可用命令 (2) 可以得知getcwd命令可以获得当前目录路径 man getcwd查看getcwd命令功能 找到所需要的头文件以及函数 #include <unistd.h> char *getcwd(char *buf, size_t size); (3)由…
任务内容 1.使用fork,exec,wait实现mybash 查找资料: fork函数 通过fork()系统调用我们可以创建一个和当前进程印象一样的新进程.我们通常将新进程称为子进程,而当前进程称为父进程.而子进程继承了父进程的整个地址空间,其中包括了进程上下文,堆栈地址,内存信息进程控制块(PCB)等.通过man手册我们可以轻松知道fork()包含的头文件<sys/types.h>和<unistd.h>,功能就是创建一个子进程.函数原型:pid_t fork(void),pid…