Kali Linux部署镜像及命令操作

使用虚拟机文件部署kali Linux

default credentials “kali/kali”

*.vmx
虚拟机配置文件
*.vmdk
虚拟机硬盘文件

sudo password root为root用户设置密码

A Tour of kali

passwd

passwd 更改密码

PS:格式为(sudo + passwd + 用户名)
-S 查看用户密码的状态
-l --lock 锁定指定的账户
-u --unlock 解锁被指定账户

用户密码文件 /etc/shadow

用户账户文件 /etc/passwd

Linux文件系统

Linux只有一个根 /(根的符号)
根是整个文件系统的入口(起始位置)
从根开始描述的路径就称为绝对路径
/root
/boot 引导文件和内核文件
/home
/etc 系统的配置文件
/mnt 挂载点
uname -r 查看内核版本
对于(外部)设备的访问需要进行挂载才可以访问
挂载(mount):就是把一个文件系统(分区)和一个目录关联

mount设备(文件系统)目录
mount /dev/cdrom/mnt
卸载
umount 设备 或者
umount 挂载点
/media 常用的挂载点–外部移动设备,u盘/光盘
/dev 设备文件目录
如/dev/cdrom 光盘
/dev/sda 第一块scsi接口的硬盘
/dev/sda1 第一块scsi接口的硬盘第一个分区
/dev/sdb
/proc 虚拟文件系统,反应的是内核内部的数据信息
/sys 内核关于硬件的数据信息
/bin 普通程序
/sbin 管理程序
/lib --库文件(相当于Windows中的dll文件)
/usr --面向用户级别
/usr/bin
/usr/sbin
/usr/lib
PS1:df
查看文件系统
df -T -h
-T 文件系统类型

-h 以适合的容量单位显示

创建目录一个自己的工作目录

mkdir -pv work/{doc,app,bak,script}

work/
doc -文档
app -应用
bak -备份
script -脚本
exam -练习

mkdir 创建目录
-p 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理

ls -ld dir1 查看目录本身的属性

ls -l dir1 查看目录下对象属性

rm -rf dir1 删除目录

finding yourself with pwd

使用pwd查看当前所处位置
打印当前工作目录

PS:相对路径(从当前工作目录描述的路径)
cd work/exam

checking your login with whoami

whoami 查看当前用户

navigating the Linux filesystem

changing directories with cd

改变当前的工作目录

cd … 返回上一级目录
cd . 当前目录
cd ./work 进入到当前目录下的work目录
cd …/… 返回到上一级目录的上一级目录
cd …/…/… 以此类推上一级目录
cd -
cd ~

listing the contents of a directory

列出目录内容
ls

ls -l 长格式显示

ls -la 显示隐藏文件

ls -ld 文件

getting help

获取帮助

eg1:
aircrack-ng --help
无线破解工具

或者
eg2:
nmap -h
著名的网络扫描工具

eg3:
man(manual)查看联机手册

G 回到手册最后一行
gg 回到手册第一行
/关键字 向下根据关键字查找
如/EXAMPLES(例子)
q 退出

PS1:
shell快捷键
ctrl+w 删除光标左侧的单词
ctrl+A 回到行首
ctrl+e 回到行尾

finding stuff //查找

searching with locate

locate
根据关键字在整个Linux文件系统中查找(定位)相关的文件
用法: locate 关键字

(1)基于自己的数据库对文件进行查找
(2)会把匹配的文件全部给出
(3)建议在使用locate之前可以使用updatedb手动更新
数据库(/var/lib/mlocate/mlocate.db)
locate aircrack-ng

locate passwd | more

7.2finding binaries with whereis
使用whereis查找可执行文件

finding binaries in the PATH variable with which

使用which在PATH变量中查找可执行文件

PS1:PATH变量
(1)路径搜索变量
(2)查看变量 echo $变量名
echo $PATH
(3)路径之间用冒号:分隔
echo $PATH
usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
(4)作用
当执行一个(外部)命令程序时,会在PATH变量中查找有无这个程序
小练习:
cd /root/work/exam
cat /etc/resolv.conf
which cat
type cat

echo $PATH
mv /usr/bin/cat .
cat /etc/resolv.conf
which cat
ls
/root/work/exam/cat /etc/resolv.conf
mv cat /usr/bin
cat /etc/resolv.conf

PS2:type判定命令程序(判断内外部)

搜索功能强大的find命令

查找的条件
文件的类型/文件的名称/文件的属主/文件的属组/文件的时间/文件的大小/文件的权限
基本语法
find directory options expression
find 路径 选项 表达式
ex01
find / -type f -name apache2

ex02
find /etc -type f -name apache2

-type 文件的类型,f表示普通文件,d表示目录
-name 文件的名称,可以支持通配符
常用的通配符

  • 任意(0或n个)字符
    ?单个字符
    []一个列表
    ex03
    find / -type f -name apache2*
    find /etc -type f -name apache2???

    apache2.conf

练习:
touch a1 a2 a3 a4 a5 a100
find . -name “a?”
find . -name “a[1,3,5]”

8.1
快速理解通配符
*任意(0或多个)字符
?单个字符
[]一个列表,匹配列表中的任意单个字符
find . -name " "
find . -name " [ ]"
find . -name " * "

8.2
使用grep去做文本的过滤
在每个<文件>中查找给定<模式>也可以对来自另一个命令的输出做过滤

用法:grep [选项]…模式[文件]…

(1)常与管道符(|)结合在一起使用

ps aux | grep apache2

ls /usr/bin | grep zip

(2)常用的命令选项

1)grep --help 查看帮助
2)-r --recursive
递归
ls -R /usr | grep zip

3)-i 忽略大小写

PS1:管道符(|)
把前一个命令的输出当作后一个命令的输入,常用于连接多个命令

PS2:查看端口
netstat -tunlp

-t tcp
-u udp
-n 数字形式显示
-l,–listening display listening server sockets
显示当前正在监听的端口
-p 哪个程序(进程)在使用该端口
PS3:web服务程序–apache2

PS4:ps aux 显示所有系统正在运行进程

PS5:systemctl 系统服务控制工具
systemctl [OPTIONS…]COMMAND …

systemctl 命令 服务名称

常用的命令
start 启动
stop 停止
restart 重启
enable 把服务设置为开机启动
disable 把服务设置为开机不启动
is-enabled 查询服务是否设置为开机启动
status 查询服务的状态

systemctl start apache2

PS6:echo $? 查看命令是否执行
0正确结果不为0错误

PS7:ssh服务
常用于远程连接(安全性高)
端口号:tcp/22
systemctl start ssh 开启ssh服务

ps aux | grep sshd

netstat -tunlp | grep 22

PS8:!n
调用最近一次以n开头的指令

PS9:查看进程树 pstree

pstree | grep apache2 查看进程数

文件和目录的基操

creating files 文件的创建

(1) cat
concatenate(连接)的缩写,即combine pieces together
1)把碎片组合在一起(意味着可以使用cat创建一个小文件)
2)显示文件
-n 显示行号

cat > hackingskill(文件)
内容

CTRL+d 退出
cat hackingskill(文件)查看文件内容

PS1:重定向
(>覆盖)
(>>追加)

PS2:Bash小技巧

ESC+.(或!+$)调用上一个命令的参数

扩展:在脚本中使用cat创建一个文件(非交互式)

cat > catfile <<EOF
文件的内容
EOF

PS:EOF表示输入到此结束
#!/bin/bash
#by aoteman
#Function:This is cat example
echo “This is use cat to create file example”
cat > catfile << EOF
文件的内容
EOF
ls catfile

cat -n catfile

案例2

cat > catfile << EOF
内容
EOF

脚本的例子:
1)我的第一个脚本

#!/bin/bash 第一行
//#!告诉系统脚本将会使用哪个解释器
//bash是常用的一种shell命令解释器 路径(/bin/bash)
#注释

#!/bin/bash
#this is my first script
echo “hello,hacker-arise”



执行位 x

2)给脚本添加可执行权限
chmod+x 脚本文件
chmod 更改权限

3)执行脚本
./ex02.sh
day09/ex02.sh
/root/work/exam/day09/ex02.sh
sh /root/work/exam/day09/ex02.sh

vi去创建一个文件
file creation with touch

(2)file creation with touch
使用touch创建文件

vi的基本使用

1)当使用vi编辑一个文件时,默认进入的模式为命令模式

2)由命令模式进入到插入模式(编辑)
i(insert)插入
a(append)追加
o(open,打开)在当前行的下一行开始输入

3)由插入模式返回到命令模式
ESC
4)保存退出,进入末行模式,按:进入底行模式
执行wq 保存退出
执行q! 保存不退出
vi光标的快速移动
G 回到最后一行
gg 回到第一行
0 回到行首
$ 回到行尾

小技巧:

支持鼠标选中复制到剪贴板
:set mouse = v

设置行号
:set nu

取消行号
:set nonu

命令行下编辑技巧
ra 用a替换光标所在字符

撤销
u 撤销,可多次

10.1
使用touch创建一个空文件

这个命令最初是为了让用户可以简单地触摸一个文件来更改它的一些细节,比如创建或修改的日期。但
是,如果该文件不存在,该命令会默认创建该文件

10.2
mkdir 创建目录

-pv

mkdir -p dir{1…10}/{ah,sd,sc}xh/dir{1…100}

复制文件 --cp

cp 源 目标cp oldfile /root/work/exam/day10/dir1/
cp oldfile /root/work/exam/day10/dir1/newfilecp oldfile dir2/
cp oldfile dir2/newfilecp oldfile f1 dir3/
//把oldfile和f1复制到dir3目录下
最后一个是目标,且目标应该为目录cp c* dir5/复制一个目录 -a 选项 相当于-dR-R 递归cp -a dir1 dir9/

文件重命名

mv

11.删除文件
rm

删除目录

rm -r,-R 递归删除文件及其内容-rf 目录-f 强制删除-i 每次删除前提示确认

练习:

常用的文件类型

l—软链接文件(类似于Windows中的快捷方式)
d—目录

  • 普通文件

kali中字典文件存放位置
/usr/share/wordlists

Linux黑客基础02篇(部署镜像及有关命令的操作)相关推荐

  1. Linux从基础入门-服务器部署应用(一)Linu基础介绍

    Linu简介 本篇文章基本讲述都是概念性的内容比较枯燥乏味,看完一定收益颇多 Linux是干什么的 百度百科:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多 ...

  2. 《Linux 黑客基础教程》翻译版发布

    本文作者:两块(信安之路高校安全联盟负责人) Linux Basics for Hackers: Getting Started with Networking, Scripting, and Sec ...

  3. Linux操作系统基础——vi篇

    vi编辑器 vi基本概念 vi编辑器简介,被誉为神的编辑器 vi编辑器是所有Unix及Linux系统下的编辑器,它的强大不逊色于任何最新的文本编辑器.这里只是简单介绍一小部分指令,会使用的话会大大提高 ...

  4. 【Linux从青铜到王者】第十四篇:Linux网络基础第一篇

    系列文章目录 文章目录 系列文章目录 前言 一.计算机网络的发展过程 1.独立模式 2.网络互联模式 3.局域网LAN 4.广域网WAN 二.认识计算机网络协议 1.协议的概念 2.什么是网络协议 3 ...

  5. Linux C基础02——进制转换和c语言简单介绍

    一,进制转换 其他进制转换到二进制: 10->2:除二取余 逆取法!小数部分乘积(2)取整,顺写法! 16->2: 一位转四位 0x放在首位,表示16进制,0x2F: 8->2: 一 ...

  6. linux网络基础设置篇-----(查看网络连接情况,域名解析nslookup,本地映射,启用禁用网络接口,路由跟踪)

    目录 1,查看网络接口信息ifconfig (1) 查看所有活动的网络接口信息 (2)查看指定网络接口信息 2,查看主机名称hostname (1)hostname 命令 3 , 查看路由条目标rou ...

  7. Linux疑难杂症解决方案100篇(十)-uptime命令查看linux系统负载

    uptime 另外还有一个参数 -V(大写),是用来查询版本的 procps是一个实用程序包,主要包括ps top kill等程序主要用来显示与控制一些系统信息,进程状态之类的内容. 以下显示输入up ...

  8. Linux shell基础(四)正则表达式与grep命令 beta

    一.正则表达式 之前学习find命令时,就已经接触过一些简单的正则,那么我们现在来学习一些复杂的正则.首先,我们还是来复习什么是正则表达式,看这个教程先,一定要多看几遍,至少知道正则大概长什么样子.( ...

  9. linux命令行 正则,Linux shell基础(四)正则表达式与grep命令 beta

    一.正则表达式 之前学习find命令时,就已经接触过一些简单的正则,那么我们现在来学习一些复杂的正则.首先,我们还是来复习什么是正则表达式,看这个教程先,一定要多看几遍,至少知道正则大概长什么样子.( ...

最新文章

  1. pybind传输list
  2. Hadoop记录-监控几个思路
  3. SOA和微服务之间的区别(应用和数据的垂直拆分水平拆分)
  4. Spring Boot Spring MVC异常处理原理分析
  5. Python网络编程基础
  6. 怎么设置计算机管理员权限,Windows7管理员权限怎么设置?
  7. 浅谈算法(简单算法)
  8. javaScript的arguments传参数
  9. java判断对象无数据_Java 判断实体对象及所有属性是否为空的操作
  10. 第一个十年,我从教师转行为web程序员,下一个十年呢?
  11. 【无线上网】无线网络小常识
  12. java 创建Reader_BufferedReader类的对象建立问题(JAVA语言)
  13. 班级网站的设计与实现
  14. [前端]-- jquery学习1
  15. 罗克韦尔AB PLC RSLogix5000中定时器指令使用方法介绍
  16. R语言27-Prosper 贷款数据分析3
  17. 树莓派4B连不上wifi的一个意想不到的原因
  18. NVIDIA面经整理
  19. 大数据学习路线图(知识体系整理)
  20. MySQL学习笔记--常用存储引擎InnoDB与MyISAM总结

热门文章

  1. 基于Python 爬虫+简单数据分析 附PPT
  2. 软件项目管理—项目管理基础
  3. 银行动态口令令牌工作原理简析
  4. 大数据学习之数据仓库Hive
  5. vue项目启动命令个人笔记
  6. 关于智能家居开源平台(如Home Assistant)——智汀家庭云,你需要知道的是
  7. body标签中的相关标签
  8. 打造智慧社区整体化解决方案--触点云
  9. 10年固守的小圈子,可能是未来最大的障碍
  10. 彻底搞懂JS事件循环机制(event loop)