渗透测试-Kali Linux学习(Linux基础、Shell编程、渗透测试软件)

目录

目录结构

SSH连接

开关机与重启

关机

重启

文件目录

目录

显示/切换

创建与删除

文件

创建

复制

移动

查看

重定向和追加

软链接

查找

备份与压缩

.gz

.zip

.tar.gz

用户管理

用户

添加用户

删除用户

修改用户

显示用户信息

查看/切换用户

用户组

添加用户组

删除用户组

组和权限管理

修改文件所有者/所在组

权限介绍

修改权限

符号模式

数字模式

系统管理

时间日期

任务调度

进程管理

查看

杀死

软件安装/卸载

安装

apt方式

压缩包方式

卸载

apt方式

其他

命令查看

运行级别

查看

进入

帮助

man

help

渗透测试软件

Metasploit

Ettercap

Sqlmap

Shell编程


安装

下载网站:kali.org

打开

 这里偷个懒,直接下载VMware的压缩包,解压后,打开即可。

目录结构

Linux的目录结构,类似于一棵树,根节点是“/”。

总览

打开“文件系统根目录”

或者

root@frank:/# cd /
root@frank:/# ls

可查看根目录下的文件,

蓝色表示目录

绿色表示可执行文件,包括.sh,.py等;

红色表示压缩文件,包括.zip、.tar等;

浅蓝色表示链接文件

灰色表示其它文件,包括.conf,.db,.img,.old等;

黄色设备文件,包括block, char, disk等。

bin

存放命令/可执行文件

dev

管理设备

etc

配置文件

lib/lib32/lib64

库文件,.so或相关后缀

root

该目录为系统管理员,也称作超级权限者的用户主目录。 

usr

这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。 

/usr/local  一般通过编译源码方式安装的程序会放在此目录

var

放着不断扩充的东西,一般将经常修改的目录放在此目录下,例如,临时目录,备份,日志文件等。

其他

  • boot:存放的是启动Linux时使用的一些核心文件,包括一些链连接文件以及镜像文件。
  • media:U盘、光驱等的识别。
  • mnt:让用户临时挂在别的文件系统的。
  • opt:软件安装目录
  • proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
  • sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • srv:该目录存放一些服务启动之后需要提取的数据。
  • tmp:这个目录是用来存放一些临时文件的。
  • sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

SSH连接

可以使用MobaXterm、XShell、SecureCRT等进行连接,不了解SSH协议的可以查看:

网络-Telnet协议与SSH协议(命令、免密登录)及其安全性

开关机与重启

shutdown

语法

shutdown [-t seconds] [-rkhncfF] time [message]

参数说明

  • -t seconds : 设定在几秒钟之后进行关机程序。
  • -k : 并不会真的关机,只是将警告讯息传送给所有使用者。
  • -r : 关机后重新开机
  • -h : 关机后停机。
  • -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机。
  • -c : 取消目前已经进行中的关机动作。
  • -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)。
  • -F : 关机时,强迫进行 fsck 动作。
  • time : 设定关机的时间。
  • message : 传送给所有使用者的警告讯息。

halt

若系统的 runlevel 为 0 或 6 ,则Linux halt命令关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代。

使用权限:系统管理者。

语法

halt [-n] [-w] [-d] [-f] [-i] [-p]

参数说明

  • -n : 在关机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的关机,只是把记录写到 /var/log/wtmp 文件里
  • -d : 不把记录写到 /var/log/wtmp 文件里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令
  • -i : 在关机之前先把所有网络相关的装置先停止
  • -p : 当关机的时候,顺便做关闭电源(poweroff)的动作

poweroff

用于关闭计算器并切断电源。

使用权限:系统管理者。

语法

poweroff [-n] [-w] [-d] [-f] [-i] [-h]

参数说明

  • -n : 在关机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
  • -d : 不把记录写到 /var/log/wtmp 文件里
  • -i : 在关机之前先把所有网络相关的装置先停止
  • -p : 关闭操作系统之前将系统中所有的硬件设置为备用模式。

reboot

用于重新启动计算机。

若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代。

语法

reboot [-n] [-w] [-d] [-f] [-i]

参数

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
  • -f : 强迫重开机,不呼叫 shutdown 这个指令
  • -i : 在重开机之前先把所有网络相关的装置先停止

关机

例如, 立即关机

shutdown -h now

poweroff

halt

后面学习的 init 0也可以关机

重启

例如,立即重启

reboot

shutdown -r now

文件目录

目录

显示/切换

pwd

显示当前绝对路径

ls

显示目录及文件

xr等是权限,后面再讲

还有 -a 选项比较常用,显示 . 开头的隐藏文件

cd

change directory, 切换目录

  • cd 绝对路径:写全路径,切换【可使用Tab键进行路径补全】
  • cd .. :上一层目录
  • cd ~:回到家目录

切换到/usr/lib目录

灵活使用,比如,在/usr/lib下,进入同级的bin目录,即回到上一级再进入bin

cd ../bin/

创建与删除

创建

make a directory / directorys

语法

mkdir [-p] dirName dirName ...

参数说明

  • -p 确保目录名称存在,不存在的就建一个。

例如,在家目录下创建一个 lady_killer9 目录

例如,在家目录下创建一个 lady/killer/9 的多级目录

删除空目录

remove an empty directory/ directorys

语法

rmdir [-p] dirName

参数

  • -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

 例如,将刚才新建的空目录删除

非空目录如何删除?

语法

rm [options] name...

参数

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

家目录下新建一个目录lady,里面新建一个文档(touch killer.txt)

文件

创建

语法

touch 路径/文件名 路径/文件名 路径/文件名 ...

上面有了,不再展示。展示一下一次创建多个,前面的mkdir也可以一次创建多个目录。

复制

语法

cp [options] source dest

参数说明:

  • -f:覆盖已经存在的目标文件而不给出提示
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

将家目录下的lady.txt文件复制到lady目录下

将家目录下的lady目录复制到killer目录下

kali linux下是默认覆盖,不提示,要提示可使用-i选项。

移动

move file

语法

mv [options] source dest
mv [options] source... directory

参数说明

  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

重命名

将某文件移动到同一个目录

将家目录下的文件killer.txt重命名为killer9.txt

将killer.txt移动奥家目录下的lady目录下

查看

全部查看

cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。

使用权限

所有使用者

语法格式

cat [-bn] fileName

参数说明:

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

查看 /etc/profile 文件,显示行号

cat -n /etc/profile

注意,直接显示全部,如果行数过多,不太合适

清空文件

cat dev/null > filepath

例如,清空 lady目录下的lady.txt文件

滚动查看

语法

more [-num] [fileNames..]

参数

  • -num 一次显示的行数

操作:

  • Enter 向下n行,需要定义。默认为1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏

查看 /etc/file 文件,一页5行

相较于cat,more可以分页,提前退出,适合大文件,缺点是没有行号显示

使用管道符 | ,将两个命令合起来用,管道左边的内容作为右边的输入

cat -n /etc/profile | more -5

上面的命令相当于 more -5 有行号的 /etc/profile

特大文件查看

对于几兆甚至更大的日志文件等使用cat或more就不合适了

语法

less [参数] 文件 

参数说明

  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -s 显示连续空行为一行
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • q 退出less 命令
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

使用前段时间爬取的小说Python-简单小说爬虫(以《天官赐福》为例),3M多的小说,在Windows上鼠标右键打开,还会转2-3秒

我传到了家目录的文档目录下

瞬间打开

重定向和追加

>:用前面的内容覆盖掉后面文件的内容

>>:用前面的内容追加到后面的文件尾部

第一个前面清空文件时提到过

echo

语法

echo 字符串

head

命令格式:

head [参数] [文件]  

参数:

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<数目> 显示的字节数。
  • -n<行数> 显示的行数。

tail

命令格式:

tail [参数] [文件]  

参数:

  • -f 循环读取【实时显示】
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容

举例:

将家目录的文件目录列表写到lady.txt文件中

将"study hard during winter vacation" 追加到lady.txt文件后面

注:head、tail无参数默认查看10行

软链接

语法:

 ln [参数][源文件或目录][目标文件或目录]

必要参数

  • -b 删除,覆盖以前建立的链接
  • -d 允许超级用户制作目录的硬链接
  • -f 强制执行
  • -i 交互模式,文件存在则提示用户是否覆盖
  • -n 把符号链接视为一般目录
  • -s 软链接(符号链接)
  • -v 显示详细的处理过程

类似于Windows下的快捷方式

 上图可以看到,我安装了pyhton2和python3,部分旧软件版本没有跟上,会使用python2,并找名为python的软链接,我们创建一个python的软链接,链接到python2.7

ln -s /usr/bin/python2.7 /usr/bin/python

这样对于开头是

#!/usr/bin/env python

的文件,你也可以通过./xxx来运行了。

查找

语法

find [搜索范围] [选项]

选项

  • -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写。
  • -size n : b、c、k、M等单位,+、-代表大于和小于

查找家目录下名为lady.txt的文件

查找家目录下大于3M的文件

locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。

locate 的速度比 find 快,它并不是真的查找,而是查数据库,可以手工更新数据库 ,命令为:

updatedb

 查找家目录下名为lady.txt的文件

语法

grep [选项][文件或目录...]

-e <样式>:通过正则表达式进行匹配

-i : 忽略字符大小写的差别。

-n: 在显示符合样式的那一行之前,标示出该行的列数编号。

查找lady.txt文件中包含lady的行,并显示行号,使用管道符 |

 查找lady.txt文件中包含ad的行,并显示行号,使用管道符 |

 查找lady.txt文件中40几分创建的文件或目录所在行,并显示行号,不使用管道符

备份与压缩

.gz

gzip [选项] 文件

选项:

  • -f  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

gunzip [选项] 文件

选项

  • -f 强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

压缩家目录下的lady.txt

注意:源文件不会保留。

解压缩家目录下的lady.txt

注意:源压缩文件不会保留。

.zip

zip [选项] xxx.zip 目录或文件

选项

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理。

压缩家目录下的lady目录为lady.zip

这个原目录或文件还是在的

unzip [选项] 目录或文件

选项

  • -d<目录> 指定文件解压缩后所要存储的目录。

解压缩lady.zip到家目录下的killer目录下

 注意,由于前面压缩时目录填写的为~/lady,所以解压后路径为绝对路径,即多了一层目录,若使用lady/则不会有root这一层。

.tar.gz

tar  [选项] 文件或目录

选项

  • -c 建立新的备份文件,产生.tar打包文件。
  • -C <目的目录>,解压到的目录
  • -f<备份文件> 指定压缩后的文件名。
  • -s 还原文件的顺序和备份文件内的存放顺序相同。
  • -v 显示指令执行过程。
  • -x 从备份文件中还原文件。
  • -z 通过gzip指令处理备份文件,打包同时压缩。

压缩家目录下的 9.txt 和lady.txt 为 lady9.tar.gz,显示过程

tar -zcvf lady9.tar.gz 9.txt lady.txt

将家目录下的killer目录压缩为killer.tar.gz

tar -zcvf killer.tar.gz killer/

解压killer.tar.gz到家目录下的lady目录

tar -zxvf killer.tar.gz -C lady/

用户管理

用户组:一个组有一个或多个用户。初始状态下有 root组和root用户。

home:家目录,一个用户登录时会进入对应的家目录。例如,home/lady

用户

添加用户

useradd 选项 用户名

参数说明:

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

passwd 用户名  来添加密码

例如,添加lady用户,主目录为/home/lady

使用SSH客户端登录后,当前目录就是

删除用户

userdel [-r] 用户名

-r:删除用户家目录及里面包含的所有目录、文件

先退出登录后再进行用户删除

例如,删除lady用户,保留家目录

userdel lady

修改用户

语法

usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]

参数说明

  • -c<备注>  修改用户帐号的备注文字。
  • -d登入目录>  修改用户登入时的目录。
  • -e<有效期限>  修改帐号的有效期限。
  • -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
  • -g<群组>  修改用户所属的群组。
  • -G<群组>  修改用户所属的附加群组。
  • -l<帐号名称>  修改用户帐号名称。
  • -L  锁定用户密码,使密码无效。
  • -s<shell>  修改用户登入后所使用的shell。
  • -u<uid>  修改用户ID。
  • -U  解除密码锁定。

不进行截图了,一般很少用,都是创建时想好了,参数和useradd也差不多。在用户组一节有展示。

显示用户信息

语法

id [-gGnru][--help][--version]用户名

参数说明

  • -g或--group  显示用户所属群组的ID。
  • -G或--groups  显示用户所属附加群组的ID。
  • -n或--name  显示用户,所属群组或附加群组的名称。
  • -r或--real  显示实际ID。
  • -u或--user  显示用户ID。
  • -help  显示帮助。
  • -version  显示版本信息。

显示用户lady的所有信息。

没有用户时会显示

root@frank:/home# id lady_killer
id: “lady_killer”:无此用户

查看/切换用户

whoami

显示当前用户

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

参数说明

  • -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
  • -m -p 或 --preserve-environment 执行 su 时不改变环境变数
  • -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
  • -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
  • --help 显示说明文件
  • --version 显示版本资讯
  • - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
  • - 切换用户后进入对应家目录
  • USER 欲变更的使用者帐号
  • ARG 传入新的 shell 参数

例如,切换到lady用户,并进入对应家目录

切到root

注意,低权限到高权限需要输入密码

用户组

注:修改组usermod不常用,没有展示

添加用户组

语法

groupadd 命令 语法格式如下:

groupadd [-g gid [-o]] [-r] [-f] group

参数说明:

  • -g:指定新建工作组的 id;
  • -r:创建系统工作组,系统工作组的组ID小于 500;
  • -K:覆盖配置文件 "/ect/login.defs";
  • -o:允许添加组 ID 号不唯一的工作组。
  • -f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。

 例如,添加组 fashi、sheshou,添加用户 houyi 到组 sheshou

cat /etc/group

查看用户houyi的信息

 创建用户时会默认创建对应名称的组,如果没有指定的话,否则不会创建。lady没有指定组,所以有lady组。但houyi指定了组sheshou,就没有再生成组houyi。

例如,创建yewang组,id为1003,将houyi改到yewang组

删除用户组

groupdel [用户组名]

组和权限管理

前面学习了,目录和文件,以及用户

文件有属性,包括所有者,所在组,其它组,可执行权限等。

使用用户houyi在其家目录下,创建一个xixue.txt

修改文件所有者/所在组

chown具有root权限才能使用,助记:chage owner

语法

chown [-cfhvR] user[:group] file...

参数 :

  • user : 新的文件拥有者的使用者 ID
  • group : 新的文件拥有者的使用者组(group)
  • -c : 显示更改的部分的信息
  • -f : 忽略错误信息
  • -h :修复符号链接
  • -v : 显示详细的处理信息
  • -R : 处理指定目录以及其子目录下的所有文件

将lady.txt的所有者改为lady

chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员。 助记:change group

语法

chgrp [-cfhRv] 所在组 文件或目录

选项

  • -c     效果类似"-v"参数,但仅回报更改的部分。
  • -f     不显示错误信息。
  • -h 只对符号连接的文件作修改,而不更动其他任何相关文件。
  • -R 递归处理,将指定目录下的所有文件及子目录一并处理。
  • -v  显示指令执行过程。

将lady.txt的所在组改为lady

权限介绍

修改权限首先得看得懂文件的权限有哪些,就是ls -l展示的d、r、w等

第一个字母表示文件类型,

  •  ”-”,普通文件。
  •  ”d”目录。
  • “l”符号链接。
  • “b”块设备文件。
  •  “c”字符设备文件。

接下来是文件所有者权限、文件所在组的用户的权限、文件其他组的用户的权限,每组三个

  • r是只读权限
  • w是写的权限,对于文件,是可以修改,若对文件目录也拥有写权限,则可以删除;对于目录,可以在目录内创建文件或目录、删除目录。
  • x是可执行权限,对于文件,是可以执行的;对于目录,是可以进入的。
  • -是没有任何权限

数字

  • 是文件,表示硬链接的个数
  • 是目录,表示子目录的个数

接下来是拥有者、所在组、文件大小/4096、文件创建时间、文件名

以目录lady为例

   d          rwx                                     r-x                       r-x   lady      lady            4096       1月20 17:01    lady

目录 拥有者可读、写、进入  所在组用户可读、进入 同左 拥有者 所在组 目录都是4096    创建时间     目录名

修改权限

下面模式记一种即可。

符号模式

使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和 permission(权限),每个项目的设置可以用逗号隔开。 命令 chmod 将修改 who 指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在 who 的位置来说明,如 who 的符号模式表所示:

who(用户类型)
who用户类型说明
uuser文件所有者
ggroup文件所有者所在组
oothers所有其他用户
aall所用用户, 相当于 ugo

operator 的符号模式表:

Operator(符号模式表)
Operator说明
+为指定的用户类型增加权限
-去除指定用户类型的权限
=设置指定用户权限的设置,即将用户类型的所有权限重新设置

permission 的符号模式表:

Permission(权限表)
Permission名字说明
r设置为可读权限
w设置为可写权限
x执行权限设置为可执行权限
X特殊执行权限只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
ssetuid/gid当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t粘贴位设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

例,对于lady.txt拥有者赋予读、写、执行权限,所在组和其他组读、执行权限

注:权限一样时,可写在一起,go=rx

可以看到lady.txt变绿了,前面提到绿色是代表可执行文件

例,对于lady.txt拥有者赋予去除 执行 权限,所在组增加 写 权限

数字模式

数字模式
数字权限rwx二进制
7读 + 写 + 执行rwx111
6读 + 写rw-110
5读 + 执行r-x101
4只读r--100
3写 + 执行-wx011
2只写-w-010
1只执行--x001
0---000

例,将lady.txt的权限修改为rwxr-xr-x

系统管理

时间日期

date '格式'

  • %y : 年份的最后两位数字 (00.99)
  • %Y : 完整年份 (0000..9999)
  • %m : 月份 (01..12)
  • %d : 日 (01..31)
  • %D : 直接显示日期 (mm/dd/yy)
  • %c : 直接显示日期与时间
  • %a : 星期几 (Sun..Sat)
  • %A : 星期几 (Sunday..Saturday)
  • %b : 月份 (Jan..Dec)
  • %B : 月份 (January..December)
  • %H : 小时(00..23)
  • %M : 分钟(00..59)
  • %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
  • %S : 秒(00..61)
  • -s datestr : 将系统时间设为 datestr 中所设定的时间
  • -u : 显示目前的格林威治时间
  1. 显示当前时间(默认)
  2. 显示当前是哪一天
  3. 显示年月日时分秒(格式 年-月-日 时:分:秒),格式与-s选项中datestr的格式一样。

日期时间显示格式,变化无穷,根据需要来,无法展示全面。

日历

cal  显示当前月日历

cal 年份

cal 月份 年份

任务调度

语法

crontab [ -u user ] { -l | -r | -e } file

参数说明

  • -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL vim)
  • -r : 删除目前的时程表
  • -l : 列出目前的时程表

时间格式如下:

f1 f2 f3 f4 f5 program
  • 其中 f1 是表示分钟(0-59),f2 表示小时(0-23),f3 表示一个月份中的第几日(1-31),f4 表示月份(1-12),f5 表示一个星期中的第几天(0-7)。program 表示要执行的程序。
  • 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,以此类推
  • 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,以此类推
  • 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,以此类推
  • 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,以此类推
0 */2 * * * /sbin/service httpd restart  每两个小时重启一次apache 

50 7 * * * /sbin/service sshd start  每天7:50开启ssh服务  

例,设置每分钟执行的任务,追加'lady_killer9'到/tmp/crontab_test.txt

验证一下:

当然,一般比较复杂的话会写脚本,这里就拿一个简单的脚本举例子。

例,在家目录下写一个脚本mydate.sh,将当前日期追加到/tmp/mydate.txt文件中,给mydate.sh添加可执行权限;设置每分钟执行一次dateadd脚本。

 添加任务

稍微有一点延迟

 查看一下当前的任务,然后删除所有任务

进程管理

查看

语法

ps [options]

参数

  • -a 列出所有的进程
  • -u 以用户格式显示进程信息
  • -x 显示后台进程运行的参数
  • -ef 查看父进程ppid

 标题解释

  • USER: 进程拥有者
  • PID: 进程id
  • %CPU: 占用的CPU大小
  • %MEM: 占用的内存大小
  • VSZ: 占用的虚拟内存大小
  • RSS: 占用的物理内存大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • STAT: 该行程的状态:

    • D: 无法中断的休眠状态 (通常 IO 的进程)
    • R: 正在执行中
    • S: 静止状态
    • T: 暂停执行
    • Z: 不存在但暂时无法消除
    • W: 没有足够的记忆体分页可分配
    • <: 高优先序的行程
    • N: 低优先序的行程
    • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令

还有pstree命令,使用树状来查看

杀死

语法

kill [参数] 进程号

参数

  • -9 /-KILL :强制停止

例,用户lady登录,检测到lady用户异常,现需使lady用户断连

 还有killall命令,来杀死相关的一组进程

软件安装/卸载

安装

apt方式

apt-get install package=version

压缩包方式

wget link

卸载

apt方式

apt-get remove --purge xxx

apt-get autoremove --purge xxx

其他

命令查看

前面说了很多命令,我们来看看如何查看之前的命令

history [选项]

用法:

  • n 显示n个最近的记录
  • -a 添加记录到history文件中
  • -c 将目前shell中的所有history命令清除
  • -d [n] 删除指定n条记录
  • -r 将history文件内容读入到目前shell的history记忆中
  • -w 将目前history记忆的内容写入到history文件中(直接覆盖方式)

显示最近使用过的10个命令

通过键盘上下方向键可进行切换

运行级别

  • 0 关机
  • 1 单用户(类似windows安全模式)
  • 2 多用户(无网络)
  • 3 多用户 (有网络)
  • 4 保留
  • 5 图形化界面
  • 6 重启

查看

runlevel

进入

init 级别

级别:0~6,不切换到4

帮助

博主前面给的命令的选项只是常用的,可以查看官方给的详细命令情况。一般情况下,使用下面的一个命令找不到帮助信息,在另一个会有。

man

man[命令或配置文件](功能描述:获得帮助信息,按Enter向上滚动查看,按q退出)

例如,查看ls的用法

help

和man类似

例如,查看cd的用法

为避免文章过长,部分内容另写了文章

渗透测试软件

Metasploit

《MetaSploit渗透测试魔鬼训练营》之环境搭建

《MetaSploit渗透测试魔鬼训练营》之信息搜集

Ettercap

Sqlmap

网络安全-sqlmap学习笔记

Shell编程

未完待续...

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。

  • 22
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
├─第1章 课程介绍 │ 任务001:Kali Linux渗透测试介绍.mp4 │ ├─第2章 Kali安装 │ 任务002:Kali Linux安装-硬盘安装、虚拟机安装.mp4 │ 任务003:Kali Linux 安装-持久加密USB安装、熟悉环境、熟悉BASH命令.mp4 │ 任务004:Kali Linux安装-熟悉环境.mp4 │ ├─第3章 工作环境优化 │ 任务005:网络配置、更新升级、安装软件包、浏览器插件.mp4 │ 任务006:安装Java、安装显卡驱动、安装网卡补丁、并发线程限制、电源优化.mp4 │ 任务007:.mp4 │ 任务008:.mp4 │ ├─第4章 实验环境 │ 任务009:实验环境.mp4 │ ├─章 基本工具 │ 任务010:基本工具-NETCAT(telnet-banner、传输文本信息).mp4 │ 任务011:基本工具-NETCAT(传输-目录、流媒体服务、端口扫描、远程克隆硬盘).mp4 │ 任务012:基本工具-远程控制、NCAT、WIRESHARK、WIRESHARK-筛选器、常见协议.mp4 │ 任务013:基本工具-常见协议包、WIRESHARK-TCP.mp4 │ 任务014:WIRESHARK-信息统计、实践.mp4 │ 任务015:TCPDUMP-抓包、筛选、高级筛选、过程文档记录.mp4 │ ├─章 信息收集 │ 任务016:被动信息收集:信息收集内容、信息用途、信息收集DNS、DNS信息收集-NSLOOKUP.mp4 │ 任务017:DNS信息收集-DIGmp4.mp4 │ 任务018:DNS区域传输、DNS字典爆破、DNS信息.mp4 │ 任务019:搜索引擎、SHODAN.mp4 │ 任务020:SHODAN.mp4 │ 任务021:google搜索:实例.mp4 │ 任务022:其他途径.mp4 │ 任务023:RECON-NG.mp4 │ ├─章 主动信息收集 │ 任务024:主动信息收集-发现.mp4 │ 任务025:主动信息收集-发现(二).mp4 │ 任务026:主动信息收集-发现(三).mp4 │ 任务027:主动信息收集-发现(四).mp4 │ 任务028:主动信息收集-发现(五).mp4 │ 任务029:端口扫描.mp4 │ 任务030:端口扫描(二).mp4 │ 任务031:服务扫描.mp4 │ 任务032:操作系统识别.mp4 │ 任务033:SMB扫描.mp4 │ 任务034:SMTP扫描.mp4 │ ├─章 弱点扫描 │ 任务035:弱点扫描.mp4 │ 任务036:NMAP.mp4 │ 任务037:NESSUS.mp4 │ 任务038:NEXPOSE.mp4 │ ├─章 缓冲区溢出 │ 任务039:缓冲区溢出.mp4 │ 任务040:POP3.mp4 │ 任务041:FUZZING.mp4 │ 任务042:Linux缓冲区溢出.mp4 │ 任务043:选择和修改EXP.mp4 | ├─章 提权 │ 任务45: 抓包嗅探.mp4 │ 任务46: WCE.mp4 │ 任务47: 利用漏洞提权.mp │ 任务48: 利用配置不当提权.mp4 │ 任务49: 收集敏感数据、隐藏痕迹.mp4 │ ├─章 无线 │ 任务050:无线渗透.mp4 │ 任务051:无线网运行模式和无线网硬件设备及基本概念.mp4 │ 任务052:无线技术概念.mp4 │ 任务053:Linux 无线协议栈及配置命令.mp4 │ 任务054:RADIOTAP头部.mp4 │ 任务055:CONTROL FRAME.mp4 │ 任务056:MANAGEMENT FRAME 管理帧.mp4 │ 任务057:REASSOCIATION REQUEST FRAME.mp4 │ 任务058:WEP加密、RC4算法.mp4 │ 任务059:WPA安全系统.mp4 │ 任务060:交换、无线渗透实操:AIRCRACK-NG基础、AIRODUMP-NG排错.mp4 │ 任务061:AIREPLAY-NG.mp4 │ 任务062:Mac地址绑定.mp4 │ 任务063:WPA.mp4 │ 任务064:COWPATTY 密码.mp4 │ 任务065:WPS.mp4 │ 任务066:WPS及其他工具.mp4 │ 任务067:EVIL TWIN AP、ROGUE AP.mp4 │ 任务068:AIRRACK-NG SUITE.mp4 │ 任务069:AIRRACK-NG(二).mp4 │ ├─章 补充 │ 任务070:协议分析.mp4 │ ├─第13章 Web渗透 │ 任务071:HTTP协议基础.mp4 │ 任务072:扫描工具-Nikto.mp4 │ 任务073:vega.mp4 │ 任务074:skipfish.mp4 │ 任务075:w3af.mp4 │ 任务076:w3af-身份认证.mp4 │ 任务077:w3af-截断.mp4 │ 任务078:Arachni.mp4 │ 任务079:OWASP_ZAP.mp4 │ 任务080:Burpsuite.mp4 │ 任务081:Burpsuite-intruder.mp4 │ 任务082:Burpsuite-repeater,Sequencer,编码,截断工具.mp4 │ 任务083:ACUNETIX WEB VULNERABILITY SCANNER.mp4 │ 任务084:APPSCAN.mp4 │ 任务085:答疑(Conky、、Linux4.4内核发布),手动漏洞挖掘.mp4 │ 任务086:手动漏洞挖掘(二).mp4 │ 任务087:手动漏洞挖掘(三).mp4 │ 任务088:手动漏洞挖掘(四).mp4 │ 任务089:KALI版本更新(第一个ROLLING RELEASE)和手动漏洞挖掘(SQL注入).mp4 │ 任务090:手动漏洞挖掘-SQL注入.mp4 │ 任务091:手动漏洞挖掘-SQL注入.mp4 │ 任务092:手动漏洞挖掘-SQL盲注.mp4 │ 任务093:SQLMAP- 自动注入.mp4 │ 任务094:SQLMAP自动注入-REQUEST.mp4 │ 任务095:SQLMAP自动注入(二)-REQUEST和SQLMAP自动注入(三)-OPTIMIZATION.mp4 │ 任务096:SQLMAP自动注入-INHECTION、DETECTION、TECHNIQUES、FINGERPRINT.mp4 │ 任务097:SQLMAP自动注入-ENUMERATION、BRUTE FORCE、UDF INJECTION、FILE SYSTEM、OS、WINDOWS REGISTORY、GENERAL、MISCELLANEOUS.mp4 │ 任务098:XSS-简介、跨站脚本检测和常见的利用手段.mp4 │ 任务099:XSS- 键盘记录器和反射型XSS.mp4 │ 任务100:存储型XSS和BEEF浏览器框架.mp4 │ 任务101:CSRF.mp4 │ 任务102:WEBSHELL.mp4 │ 任务103:HTTPS.mp4 │ 任务104:SSL、TLS中间人.mp4 │ 任务105:SSL、TLS拒绝服务和补充概念.mp4 │ ├─第14章 密码 │ 任务106:思路、身份认证方法、密码方法、字典.mp4 │ 任务107:字典、在线密码-hydra.mp4 │ 任务108:在线密码-hydra、在线密码-medusa、离线密码.mp4 │ 任务109:离线密码、离线密码-Hashcat.mp4 │ 任务110:离线密码.mp4 │ 任务111:密码嗅探(第四版剪辑版).mp4 │ 任务112:密码嗅探、中间人.mp4 │ 任务113:中间人、ARP MITM、中间人、Pass the Hash.mp4 │ ├─第15章 流量操控与隧道 │ 任务114:流量操控技术、重定向.mp4 │ 任务115:SSH隧道和SSH本地端口转发.mp4 │ 任务116:SSH远程端口转发和动态端口转发以及X协议转发.mp4 │ 任务117:DNS协议隧道、DNS协议隧道-dns2tcp.mp4 │ 任务118:DNS协议隧道-dns2tcp.mp4 │ 任务119:DNS协议隧道-iodine、NCAT.mp4 │ 任务120:SOCAT.mp4 │ 任务121:ptunnle.mp4 │ 任务122:proxytunnle.mp4 │ 任务123:sslh.mp4 │ 任务124:补充Proxytunnel、stunnel4.mp4 │ ├─第16章 拒绝服务 │ 任务125:拒绝服务介绍、DoS分类、个人DoS分类方法.mp4 │ 任务126:Syn-Flood、IP地址欺骗.mp4 │ 任务127:Smurf、Sockstress.mp4 │ 任务128:TearDrop.mp4 │ 任务129:DNS放大.mp4 │ 任务130:SNMP放大.mp4 │ 任务131:NTP放大.mp4 │ 任务132:应用层Dos.mp4 │ 任务133:拒绝服务工具-RUDY、Hping3、LAND、Siege.mp4 │ 任务134:拒绝服务工具-NMAP、匿名者拒绝服务工具包(匿名者发布的DoS工具)、其他拒绝服务工具-XOIC、HULK、DDOSIM、GoldenEye.mp4 │ ├─第17章 免杀 │ 任务135:恶意软件、防软件、免杀技术、当前现状.mp4 │ 任务136:当前现状、软件保护,自己编写后门.mp4 │ 任务137:Veil-evasion.mp4 │ 任务138:Veil-catapult.mp4 │ 任务139:Veil-catapult总结、另一种免杀思路、shellter.mp4 │ 任务140:Backdoor-f

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lady_killer9

感谢您的打赏,我会加倍努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值