关于linux教程问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于linux教程问题相关的知识,希望对你有一定的参考价值。

学校开了LINUX的课程,但是讲的不够深入,希望哪位高手介绍些教程给我,视频文件,PTP,PDF,Word等等,只要有不错的教程都可以,谢谢了!
对了,有没有关于SHELL的不错的资料

你可以去搜索海明工作室的简明教程,针对初学的,貌似用的是Ubuntu版本,
Fedora的要另外去搜,红旗的去官网看看就行了,没必要下载的。
我这里有一份下载单,贴给你,我不知道还能用不,FTP的。

可能显示的时候比较乱哈,见谅!

核心书籍:《练成Linux系统高手》教程(全程图解PDF格式)
不管你是何水平,学了Linux,那么这些内容都是要去掌握的。对于所有学习Linux的朋友来说,本教程都具有很好的指导作用,每个步骤都有详细的图文说明。
从今天起,你也能成Linux系统高手。因为你将会操作Linux窗口管理器,它可以打开一个特殊的窗口,即为终端窗口(terminal),它将为用户提供一个标准的命令行接口,用户可在窗口显示的提示符中输入带有选项和参数的命令。
看着别人操作那满屏幕的洋文,不可思议,那肯定是一个Linux高手,其实你也能成为高手中的一员。使自己的Linux技能疯狂增长就必须学会操作与看懂这些洋文。本教程系PDF格式。外部下载链接:ftp://FTP_hllinux:123456@211.95.73.26/练成Linux系统高手教程.pdf(请右键另存为或是用下载工具下载,如一时无法连接请稍候再连接,保证能下)
以下是ftp里的内容:
ftp://FTP_hllinux@211.95.73.26/的索引
回到上一层文件夹
File: 0 从硬盘安装Linux操作系统.pdf 1523 KB 2007-4-19 0:00:00
File: 1zxhlinux.rar 2057 KB 2006-11-22 0:00:00
File: 2007.7.18.rar 640 KB 2007-12-23 20:51:00
File: 2007linux.chm 204 KB 2007-1-16 0:00:00
File: 2007从Windows转向Linux基础教程.CHM 104 KB 2007-1-25 0:00:00
File: 2007年Linux普及书籍从Windows转向Linux基础教程.pdf 1514 KB 2006-12-30 0:00:00
File: Apache 2.2 手册中文版.chm 1362 KB 2007-12-23 21:04:00
File: Debian GNU安装与配置图解--详解.pdf 260 KB 2007-4-30 0:00:00
File: Debian--GNU安装与配置图解--详解.pdf 2592 KB 2007-6-30 0:00:00
File: DebianLinux安装与基本配置全程图解教程.pdf 2386 KB 2007-1-11 0:00:00
File: FedoraCore Linux6安装图解.pdf 1257 KB 2007-1-1 0:00:00
Directory: LAMP 2008-1-7 15:04:00
Directory: LINUX and UNIX Shell 2007-12-23 22:57:00
File: LINUX应用技术精华{面向初学Linux朋友的书籍}.CHM 1876 KB 2007-7-26 22:28:00
File: Linux操作系统文件系统学习教程.pdf 309 KB 2007-1-30 0:00:00
File: Linux基础复习题.pdf 801 KB 2007-1-13 0:00:00
File: Linux命令从入门到精通一到十章.rar 3727 KB 2007-5-7 0:00:00
File: Linux命令学习加Linux标准文本处理命令.pdf 1769 KB 2007-1-18 0:00:00
File: Linux扫盲行动教程.chm 96 KB 2007-2-13 0:00:00
File: Linux扫描式教程.chm 280 KB 2007-2-22 0:00:00
File: Linux扫描式教程.pdf 360 KB 2007-3-20 0:00:00
File: Linux实用培训学习教程1.0(最终版).chm 96 KB 2007-5-15 0:00:00
File: Linux实用学习教程(第一版).chm 985 KB 2007-2-27 0:00:00
File: Linux完整教程(初级教程).exe 2133 KB 2007-12-23 23:00:00
File: Linux系统常用命令快速入门.chm 36 KB 2007-1-17 0:00:00
File: Linux系统常用命令快速入门.pdf 341 KB 2007-1-17 0:00:00
File: Linux系统学习笔记.pdf 70 KB 2007-2-7 0:00:00
File: Linux系统疑难解答之99式.pdf 210 KB 2007-2-25 0:00:00
File: Linux系统纸坛.pdf 4707 KB 2007-5-5 0:00:00
File: Linux学习笔记.pdf 806 KB 2007-1-15 0:00:00
File: Linux与Samba服务器专题教程.pdf 212 KB 2007-1-29 0:00:00
File: MagicLinux安装全程图解.chm 1401 KB 2007-1-21 0:00:00
Directory: Mr Tang 2007-12-23 23:10:00
File: O'Reilly - Learning Red Hat Linux, 3rd Edition.chm 4118 KB 2007-12-23 23:19:00
File: RHEL入门1.rar 2333 KB 2007-1-8 0:00:00
File: Red Hat Enterprisr Linux AS 4图解教程之Linux基本操作.pdf 423 KB 2007-1-16 0:00:00
File: Redhat9.rar 16926 KB 2007-8-28 16:41:00
File: Redhat9中文官方文档.rar 15366 KB 2007-8-12 22:19:00
File: Ubuntu7.04图解安装教程.pdf 987 KB 2007-6-26 0:00:00
File: Ubuntu704.chm 757 KB 2007-12-15 11:53:00
File: Ubuntu图解安装教程.pdf 1230 KB 2007-1-7 0:00:00
Directory: fc 2007-8-4 12:21:00
Directory: hl 2007-10-19 11:47:00
File: ibmlpi.rar 3046 KB 2006-11-22 0:00:00
File: issue4_cn.pdf 2007-12-23 21:05:00
Directory: linux 2007-10-17 23:06:00
File: linux.pdf 873 KB 2007-4-26 0:00:00
File: linux.rar 20391 KB 2006-11-23 0:00:00
File: linux200607.rar 3101 KB 2006-11-22 0:00:00
File: linux200608.rar 4518 KB 2006-11-22 0:00:00
File: linuxbz.rar 8780 KB 2006-11-22 0:00:00
File: linuxpc.rar 14129 KB 2006-11-22 0:00:00
File: linuxpeix.rar 8587 KB 2006-11-22 0:00:00
File: linuxsp.rar 22395 KB 2006-11-23 0:00:00
File: linuxxtglzn.rar 19455 KB 2006-11-23 0:00:00
File: linux程序设计3.rar 3959 KB 2007-10-21 16:21:00
File: linux基础视频教程1.rar 17537 KB 2007-3-9 0:00:00
File: linux基础视频教程2.rar 33344 KB 2007-3-9 0:00:00
File: linux基础视频教程3.rar 26663 KB 2007-3-9 0:00:00
File: linux视频1.rar 26902 KB 2007-1-20 0:00:00
File: linux视频2.rar 27570 KB 2007-1-20 0:00:00
File: linux视频3.rar 32814 KB 2007-1-21 0:00:00
File: linux视频4.rar 15274 KB 2007-1-21 0:00:00
Directory: logfiles 2008-1-5 4:00:00
File: lumaqq_2006M1-linux_gtk2_x86_no_jre.tar.gz 12411 KB 2006-11-22 0:00:00
File: redhatlinux9(1).rar 1760 KB 2007-1-19 0:00:00
File: redhatlinux9(2).rar 672 KB 2007-1-19 0:00:00
File: redhatlinux9(3).rar 64 KB 2007-1-19 0:00:00
File: redhatlinux9.rar 22108 KB 2006-11-22 0:00:00
File: redhatlinux9xtgl.rar 10430 KB 2006-11-23 0:00:00
Directory: redlib 2007-12-23 23:25:00
Directory: sp 2008-1-4 16:45:00
Directory: suse 2007-12-18 16:57:00
Directory: urrs 2008-1-7 16:50:00
File: webmin1340.tar.gz 14201 KB 2007-12-23 23:36:00
Directory: wz 2007-12-16 22:54:00
File: 从Windows转向Linux教程E3000基础学习.chm 3037 KB 2007-4-14 0:00:00
File: 从Windows转向Linux教程E3000基础学习.pdf 3499 KB 2007-4-17 0:00:00
File: 从Windows转向Linux教程V2.chm 3260 KB 2007-4-3 0:00:00
File: 从Windows转向Linux教程V2.pdf 3952 KB 2007-4-4 0:00:00
File: 从头开始对ubuntu进行优化教程.pdf 758 KB 2007-1-19 0:00:00
File: 从硬盘安装Linux.pdf 2007-12-20 14:35:00
File: 红联linux操作系统视频教程1.rar 51205 KB 2006-11-26 0:00:00
File: 红联linux操作系统视频教程4.rar 59957 KB 2006-11-29 0:00:00
File: 红联linux操作系统视频教程5.rar 58308 KB 2006-11-29 0:00:00
File: 红旗linux桌面5.0安装指南.rar 2014 KB 2007-1-16 0:00:00
File: 快速成Linux系统管理员教程.pdf 873 KB 2007-1-27 0:00:00
File: 练成Linux高手.chm 3853 KB 2007-2-3 0:00:00
File: 练成Linux系统高手教程.pdf 4707 KB 2007-1-25 0:00:00
File: 一周内学会linux系统管理.rar 2053 KB 2007-8-11 22:11:00

2007优秀Linux电子书籍集合下载这些Linux教程都是从红联中集合的,还有很多,这里我选些我知道较好的推荐给大家。

Linux零基础初级教程
很多Linux基础的知识在里面都有讲
下载地址:http://www.linuxdiyf.com/bbs/thread-51667-1-1.html

Linux安装速成教程
不懂安装的看这个就行了,还有里面有分区图解介绍
下载地址:http://www.linuxdiyf.com/bbs/thread-57353-1-2.html

学成Linux快手
学习Linux命令的要看看这个了
下载地址:http://www.linuxdiyf.com/bbs/thread-59461-1-1.html

To新手:从Windows转向Linux教程 V2.0
基础开始
下载地址:http://www.linuxdiyf.com/bbs/thread-41851-1-1.html

从Windows转向Linux教程 E3000基础学习
很好的图解基础讲解,Linux初学者学习最好了
下载地址:http://www.linuxdiyf.com/bbs/thread-43084-1-1.html

Linux学习新概念书籍发布:Linux扫描式教程
很多技能介绍
下载地址:http://www.linuxdiyf.com/bbs/thread-37277-1-1.html

Ubuntu实用学习教程
都是Ubuntu的图解介绍
下载地址:http://www.linuxdiyf.com/bbs/thread-46509-1-2.html

Fedora技术学习教程 CHM版
还有个PDF版的,Fedora系统的知识介绍
下载地址:http://www.linuxdiyf.com/bbs/thread-54686-1-1.html
参考技术A 这样的资料一大把
敲shell编程 就够你学一阵子了
鸟哥的linux私房菜 等等

Linux pwn入门教程——环境配置

作者:Tangerine@SAINTSEC

0×00前言

作为一个毕业一年多的辣鸡CTF选手,一直苦于pwn题目的入门难,入了门更难的问题。本来网上关于pwn的资料就比较零散,而且经常会碰到师傅们堪比解题过程略的writeup和没有注释,存在大量硬编码偏移的脚本,还有练习题目难找,调试环境难搭建,GDB没有IDA好操作等等问题。作为一个老萌新(雾),决定依据Atum师傅在i春秋上的pwn入门课程中的技术分类,结合近几年赛事中出现的一些题目和文章整理出一份自己心目中相对完整的Linux pwn教程。
本系列教程仅针对i386/amd64下的Linux pwn常见的pwn手法,如栈,堆,整数溢出,格式化字符串,条件竞争等进行介绍。为了方便和我一样的萌新们进行学习,所有环境都会封装在docker镜像当中,并提供调试用的教学程序,来自历年赛事的原题和带有注释的python脚本。教程欢迎各位师傅吐槽,若对题目和脚本的使用有不妥之处,会在当事师傅反馈之后致歉并应要求进行处理。

0×01 docker容器的使用与简单操作

在搭建环境之前我们需要准备一个装有docker的64位Linux系统,内核版本高于3.10(可以通过uname -r查看),可以运行在实体机或者是虚拟机中。关于docker的安装与启动此处不再赘述,读者可以根据自己的Linux发行版本自行搜索。此处提供两个链接,供Ubuntu和Kali使用者参考:
Kali:《kali Rolling安装docker》http://www.cnblogs.com/Roachs/p/6308896.html
Ubuntu:《Ubuntu 16.04安装Docker》http://blog.csdn.net/qq_27818541/article/details/73647797
在成功安装了docker并验证其可用性后,我们就可以定制自己的实验用容器了。这部分内容可以在各个地方找到教程,且与pwn的学习不相关,此处不再赘述。为了方便实验,我把实验环境打包成了几个容器快照,可以直接导入成镜像使用。

以ubuntu.17.04.amd64为例,导入的命令为

cat ubuntu.17.04.amd64 | docker import – ubuntu/17.04.amd64

image.png导入成功后使用命令docker images会看到镜像仓库中出现了一个新的镜像。image.png

运行docker run -it -p 23946:23946 ubuntu/17.04.amd64 /bin/bash

就可以以这个镜像创建一个容器,开启一个shell,并且将IDA调试服务器监听的23946端口转发到本地的23946端口。image.png通过命令docker container ls -a 我们发现容器列表里多了一个刚刚创建的容器,并且被赋予了一个随机的名字,在我的实验中它是nostalgic_raman。image.png我们可以通过命令docker container rename nostalgic_raman ubuntu.17.04.amd64把这个容器重命名为ubuntu.17.04.amd64或者其他你认为合适的名字。image.png使用docker exec -it ubuntu.17.04.amd64 /bin/bash 我们可以打开目标容器的一个新的bash shell。这使得我们在后续的调试中可以在容器中启动IDA调试服务器并用socat部署pwn题目。

此外,可以使用docker container cp命令在docker容器内外双向传输文件等等。需要注意的是,对容器的各种操作需要在容器运行时进行,若容器尚未运行(运行docker container ls未显示对应容器),需使用命令docker start运行对应容器。此外,若同时运行多个容器,为了避免端口冲突,在启动容器时,可以将命令docker run -it -p 23946:23946 ubuntu/17.04.amd64 /bin/bash 中的第一个端口号23946改为其他数字。

0×02 IDA的简单使用及远程调试配置

成功搭建了docker环境之后,我们接下来熟悉一下IDA和IDA的远程调试环境搭建。首先我们在IDA所在的文件夹的dbgsrv文件夹下找到需要的调试服务器linux_server(32位)和linux_serverx64(64位)并复制到kali中。

image.png然后使用命令docker container cp linux_server ubuntu.17.04.i386:/root/linux_server 将linux_server复制到32位容器中的/root目录下。此时我们登录容器可以看到linux_server,运行该server会提示正在监听23946端口。

image.png接着我们打开32位的ida,载入一个后面会用于演示堆漏洞的程序heapTest_x86,在左侧的Functions window中找到main函数,随便挑一行代码按F2下一个断点。然后通过Debugger->Process options…打开选项窗口设置远程调试选项。

image.png在弹出的选项窗口中配置Hostname为kali的ip地址,Port为容器映射到kali中的端口。

image.pngimage.png

填好后点击OK,按快捷键F9运行程序。若连接正常可能提示Input file is missing:xxxxx,一路OK就行,IDA会将被调试的文件复制到服务器所在目录下,然后汇编代码所在窗口背景会变成浅蓝色并且窗口布局发生变化。若IDA僵死一段时间后跳出Warning窗口,则需要检查IDA所在机器与kali是否能ping通,容器对应端口是否映射,参数是否填错等问题。

调试器连接成功后我们就可以使用各种快捷键对目标程序进行调试,常用的快捷键有 下断点/取消断点 F2,运行程序F9,单步跨过函数F8,单步进入函数F7,运行到选中位置F4等等。在调试模式下主要使用到的窗口有汇编窗口 IDA View-EIP,寄存器窗口General registers,栈窗口Stack view,内存窗口Hex View,系统日志窗口Output window等。

image.png切回到kali,我们会看到随着程序运行,运行调试服务器的shell窗口会显示出新的内容

image.png当IDA中的程序执行完call    ___isoc99_scanf或者类似的等待输入的指令后会陷入阻塞状态,F4,F7,F8,F9等和运行相关的快捷键都不生效。此时我们可以在shell中输入内容,IDA中的程序即可恢复执行。

0×03 使用pwntools和IDA调试程序

在上一节中我们尝试了使用IDA配置远程调试,但是在调试中我们可能会有一些特殊的需求,比如自动化完成一些操作或者向程序传递一些包含不可见字符的地址,如\\x50\\x83\\x04\\x08(0×08048350)。这个时候我们就需要使用脚本来完成此类操作。我们选用的是著名的python库pwntools。 pwntools库可以使用pip进行安装,其官方文档地址为http://docs.pwntools.com/en/stable/ 。在本节中我们将使用pwntools和IDA配合调试程序。

首先我们在kali中安装pwntools,安装完成后输入python进入python环境,使用from pwn import * 导入pwntools库。

image.png使用docker exec在32位的容器中新开一个bash shell,跳转到heapTest_x86所在目录/root,查看容器的IP地址,然后执行命令socat tcp-listen:10001,reuseaddr,fork EXEC:./heapTest_x86,pty,raw,echo=0将heapTest_x86的IO转发到10001端口上。image.png我们可以看到我的容器中的IP地址是172.17.0.2。回到python中,使用io = remote("172.17.0.2", 10001)打开与heapTest_x86的连接。image.png这个时候我们返回到IDA中设置断点。需要注意的是此时heapTest_x86已经开始运行,我们的目标是附加到其运行的进程上,所以我们需要把断点设置在call    ___isoc99_scanf等等待输入的指令运行顺序之后,否则由于计算机的运行速度,我们的断点将会因为已经目标指令已经执行完而失效,达不到断下来的效果。选择Debugger->Attach to process…,附加到./heapTest_x86的进程上。image.png此时EIP将指向vdso中的pop ebp指令上。image.png

这几行指令实际上是执行完sys_read后的指令,此处我们不需要关心它,直接按F9,选中标志会消失。

回到python窗口,我们使用pwntools的recv/send函数族来与运行中的heapTest_x86进行交互。首先输入io.recv(),我们发现原先会在shell窗口出现的菜单被读出到python窗口里了。image.png

同样的,我们通过io.send()也可以向这个进程传递输入。我们使用io.send(’1′)告诉这个进程我们要选择选项1。这个时候我们切换到IDA窗口,发现IDA还是处于挂起状态,这是为什么呢?

回想一下我们通过shell与这个进程交互的时候,输入选项后需要按回车键以“告诉”这个进程我们的输入结束了。那么在这里我们同样需要再发送一个回车,所以我们再执行io.send(‘\\n’),切换到IDA窗口就会发现EIP停在了熟悉的程序领空。这时候我们再使用IDA的快捷键就可以进行调试,随心所欲地观察进程的内存,栈,寄存器等的状态了。当然,我们也可以直接使用io.sendline(),就可以直接在输入的结尾自动加上’\\n’了。image.png

在上图的状态中,我们在python中再次输入io.recv(),发现并没有读取到输出,并且python处于阻塞状态。这是因为程序此时没有输出可读取。我们在IDA中按F8到call mallocChunk一行,此时按F7进入函数,在函数中运行到call _fflush的下一行,就会发现python的阻塞状态解除了。

当我们希望结束调试时,应该使用io.close()关闭掉这个io。否则下一次试图attach时会发现有两个./heapTest_x86进程。在IDA中按Ctrl+F2即可退出调试模式。

 

配置实验环境打包如下:

链接:https://pan.baidu.com/s/1xr9n9EBs2dALOkmIFaIdcQ  密码请阅读原文

以上是关于关于linux教程问题的主要内容,如果未能解决你的问题,请参考以下文章

Linux集群教程——关于集群的概述

第一章 关于linux历史

关于linux live cd问题

vnc教程,有关于vnc的教程吗?使用教程

VMware安装的Linux Fedora , 关于gcc 的问题

VMware安装的Linux Fedora , 关于gcc 的问题