20165220 mybash】的更多相关文章

使用fork,exec,wait实现mybash - 写出伪代码,产品代码和测试代码 - 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 1.fork 功能:创建一个新的进程 一个现存进程调用fork函数是linux内核创建一个新进程的唯一方法(交换进程.init进程和页精灵进程并不是这样,这些进程是由内核作为自举过程的一部分以特殊方式创建的). 参数:pid_t fork(void);返回值:一个是子进程返回0,第二个是父进程的返回值大于0.错误返回-1.头文件:include<u…
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执行…
网络对抗技术 20165220 Exp6 信息搜集与漏洞扫描 实验任务 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点(以自己主机为目标) (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标) 基础问题回答 1.哪些组织负责DNS,IP的管理. 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.DNS和IP地址管理.全球根域名服务器:绝大多数在欧洲和北美(全球…
实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧: 2 通过组合应用各种技术实现恶意代码免杀(1分)(如果成功实现了免杀的,简单语言描述原理,不要截图.与杀软共生的结果验证要截图.) 3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本 基础问题回答 (1)杀软是如何检测出恶意代码的? 一种检测是检测特征码,就是检测该代码是否含有恶意代码都含有的一段代码,只要包含…
实验内容 1.使用netcat获取主机操作Shell,cron启动2.使用socat获取主机操作Shell, 任务计划启动3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell4.使用MSF meterpreter(或其他软件)生成获取目标主机音频.摄像头.击键记录等内容,并尝试提权5.使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell 基础问答 (1)例举你能想到的一个后门进入到你系统中的…
一.了解 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…
一.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)由…
每周作业链接汇总: 20165220 我期望的师生关系 20165220 学习基础和C语言基础调查 20165220 Linux安装及学习 20165220 第一周学习总结 20165220 第二周学习总结 20165220 第三周学习总结 20165220 第四周学习总结 20165220 第五周学习总结 20165220 第六周学习总结 20165220 第七周学习总结 20165220 第八周学习总结 20165220 第九周学习总结 自认为写得最好一篇博客是?为什么? 我认为我写的做好的…
实验封面: 实验二 面向对象程序设计-1 实验要求: 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 参考http://www.cnblogs.com/rocedu/p/6736847.html 提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号. 实验截图: 相关代码: public class MyUtil{ public static String percentage2fivegrade(int…
任务内容 1.使用fork,exec,wait实现mybash 查找资料: fork函数 通过fork()系统调用我们可以创建一个和当前进程印象一样的新进程.我们通常将新进程称为子进程,而当前进程称为父进程.而子进程继承了父进程的整个地址空间,其中包括了进程上下文,堆栈地址,内存信息进程控制块(PCB)等.通过man手册我们可以轻松知道fork()包含的头文件<sys/types.h>和<unistd.h>,功能就是创建一个子进程.函数原型:pid_t fork(void),pid…
目录: 一.mypwd 二.mybash 三.myod 四.读者.写者 一.实现mypwd 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd 1.pwd命令学习 pwd(print working directory) 作用:打印出当前路径全名 symlink :符号链接 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 由上可以看出: 系统调用命令:Getcwd 头文件和参数 #include <uni…
第五周加分题--mybash的实现 题目要求 1.使用fork,exec,wait实现mybash 2.写出伪代码,产品代码和测试代码 3.发表知识理解,实现过程和问题解决的博客(包含代码托管链接) exec函数组 一个程序如何运行另一个程序呢? 我们得搞清楚需要调用什么函数来完成这个过程.如果想使用man -k xxx这个命令进行搜索. 试试man -k program | grep execute 如下图: 再进一步使用man -k execute搜索,通过观察说明,我们找到了一系列相关的函…
第五周加分题--mybash的实现 题目要求 1.使用fork,exec,wait实现mybash 2.写出伪代码,产品代码和测试代码 3.发表知识理解,实现过程和问题解决的博客(包含代码托管链接) bash是什么 在百度中搜索bash查看它是什么,得知bash 是一个为GNU计划编写的Unix shell.bash 指的就linux常用的shell脚本语言,这个常见于脚本第一行 : #!/bin/bash或者 #!/bin/sh 这种shell脚本很简单,就和你在终端输入命令一样,一行一行执行…
第五周加分题--mybash的实现 题目要求 1.使用fork,exec,wait实现mybash 2.写出伪代码,产品代码和测试代码 3.发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 通过man命令了解fork.exec和wait fork 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记:否则,出错返回-1. exec 系统调用execve()对当前进程进行替换,替换者为一个指定的程序,其参数包括文件名(filename).参数列表(argv)以及环境变…
2017-2018-1 20155239 <信息安全系统设计基础>第五周学习总结+mybash的实现 mybash的实现 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 首先通过man命令了解fork.exec和wait 命令行输入:man fork 命令行输入:man exec 命令行输入:man wait 伪代码 while(1) { fgets(命令行输入): if(内置的shell命令) {…
第五周 加分题-mybash的实现 使用fork,exec,wait实现mybash 产品代码 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <string.h> #define DELAY 2 void child_code(int delay,char…
20155308 加分题-mybash的实现(第五周) 实验要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 使用fork,exec,wait实现mybash(代码) fork 首先用man命令查看fork的使用方法 其功能 通过复制调用fork的进程创建一个新进程. 返回值 创建子进程成功时,fork在父进程中返回子进程的pid,在子进程中返回0.失败时,在父进程中返回-1,无子进程被创建,相应的…
2017-2018-1 20155320 第五周 加分题-mybash的实现 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 学习函数的使用 使用man命令来查找函数的使用 fork函数 fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事.一个进程调用fork()函数后,系统先给新的进程分配资源.…
mybash的实现 要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 学习相关知识 fork函数 查看帮助文档可以知道fork函数的头文件,函数原型,以及函数的功能等,如下图 fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事. 一个进程调用fork()函数后,系统先给新的进程分配资源. fo…
Mybash实现 知识储备: feof是C语言标准库函数,其原型在stdio.h中,其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0,文件结束符只能被clearerr()清除. 创建进程时经常会用到进程号的类型定义:pid_t.我们都知道这个类型定义实际上就是int型. pid 是控制系统中的重要参数,指控制方式, 我们编写1个普通的c程序, 运行这个程序直到程序结束, 系统只会分配1个pid给这个程序, 也就就说, 系统里只会有一条关于这个程序的进程. 但是执行了fork(…
fork() 计算机程序设计中的分叉函数.返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记:否则,出错返回-1. fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程.这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本. mybash 版本一 #include <errno.h> #include <stdio.h> #include <stdlib.h> char co…
mybash的实现 题目 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 准备 通过man命令了解fork.exec和wait fork exec wait 编程实现 伪代码 while(1) { fgets(命令行输入): if(内置的shell命令) { 解释命令: } else if(可执行文件) { 新的子进程加载并运行文件: } } 产品代码 #include <stdio.h> #incl…
基于fork(),execvp()和wait()实现类linux下的bash--mybash 预备知识 fork():fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事http://blog.csdn.net/jason314/article/details/5640969. 重点是后一句话,如果初始参数或者传入变量不同,两个进程也可以做不同的事,意思就是虽然父进利用fork()函数创造了…
#20155322 2017-2018-1<信息安全系统设计>第五周 MyBash实现 [博客目录] 实现要求 相关知识 bash fork exec wait 相关问题 fork返回两次 execvp函数原型 fork函数的理解 代码链接 实现 伪代码 产品代码 本周结对学习情况 结对学习博客 结对学习图片 结对学习内容 参考资料 实现要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 返回目录…
mybash 的实现 码云链接 https://gitee.com/bestiisjava2017/laura5332/blob/master/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1/mybash.c 遇到的问题 定义 char *arlgist[[3]; scanf("%s",arlgist[0]); scanf("%s",arlgist[1]); 编译可以通…
第五周 mybash的实现 1. 使用fork,exec,wait实现mybash 2. 写出伪代码,产品代码和测试代码 3. 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 1. fork() 函数: 1. 一个进程,包括代码.数据和分配给进程的资源. 2. fork() 函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事. 3. 一个进程调用fork() 函数后,系统先给新的进程分配资…
2017-2018-1 20155337<信息安全系统设计基础>第5周学习总结 教材学习内容总结 不论我们是在用C语言还是用JAVA或是其他的语言编程时,我们会被屏蔽了程序的机器级的实现.机器语言不需要被编译,可以直接被CPU执行,其执行速度十分 快.但是机器语言的读写性与移植性较高级语言低.高级语言被编译后便成为了汇编语言,汇编语言十分接近机器语言.之后汇编代码会转化为机器语言.虽然现代 的编译器能帮助我们将高级语言转化为汇编语言,解决了不少问题,但是对于一个严谨的程序员来说,需要做到能够阅…
2017-2018-1 20155338 <信息安全系统设计基础>第5周加分项Mybash的实现 使用fork,exec,wait实现mybash 一.fork函数 定义和理解:fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事. 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间.然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不…