文章目录
- [1 kali介绍](#1 kali介绍)
-
- [1.1 kali是什么](#1.1 kali是什么)
- [1.2 kali可以做什么](#1.2 kali可以做什么)
- [2 kali注意事项](#2 kali注意事项)
-
- [2.1 合法性](#2.1 合法性)
- [2.2 使用环境](#2.2 使用环境)
- [2.3 更新于维护](#2.3 更新于维护)
- [2.4 道德与责任](#2.4 道德与责任)
- [2.5 学习提升](#2.5 学习提升)
- [3 kali快捷键](#3 kali快捷键)
-
- [3.1 常用的快捷键](#3.1 常用的快捷键)
- [3.2 其他快捷键](#3.2 其他快捷键)
- [4 命令行操作指令kali](#4 命令行操作指令kali)
-
- [4.1 命令行管理指令](#4.1 命令行管理指令)
- [4.2 系统信息查看指令](#4.2 系统信息查看指令)
- [4.3 网络扫描与分析指令](#4.3 网络扫描与分析指令)
- [4.4 目录管理指令](#4.4 目录管理指令)
- [4.5 文件管理命令](#4.5 文件管理命令)
- [4.6 压缩与解压](#4.6 压缩与解压)
-
- [4.6.1 非压缩的tar包](#4.6.1 非压缩的tar包)
- [4.6.2 bzip2或gzip结合tar的方式](#4.6.2 bzip2或gzip结合tar的方式)
- [4.6.3 bzip2](#4.6.3 bzip2)
- [4.6.4 gzip](#4.6.4 gzip)
- [4.6.5 rar](#4.6.5 rar)
- [4.6.6 tar](#4.6.6 tar)
1 kali介绍
1.1 kali是什么
Kali是基于Linux多次开发的一个产品,他包含了600多款适合用于各种信息安全和渗透测试研究的工具软件包含的工具很多,例如:
Nmap
(端口扫描器)
Wireshark
(数据包分析器)
Aircrack-ng
(应用于对无线局域网进行渗透测试的软件)
John the Rippre
(密码破解器)
Nessus
(很强大的漏洞扫描工具)
OpenVAS
(开源的漏洞扫描工具)
Burp Suite
(用于web应用安全测试的集成平台)
SQLmap
自动化的SQL注入工具
wireshark
网络协议分析工具
(kali预装的这些软件包含了很多黑客会使用到的很多工具,但是不要用这些工具去私自攻击未授权的一些网站)
1.2 kali可以做什么
- 信息取证;
- 对网站进行安全性的渗透测试评估(学习这个的很多,可以做渗透测试师);
- 攻击WPA//WPA2保护的无线网络(用来获取WiFi网络嗅探);
- 破解密码(离线破解哈希密码 在线破解网站登录密码);
- 逆向工程(将Java,,c++编写成的程序反编译成代码);
- 社会工程(黑客的最爱)。
2 kali注意事项
2.1 合法性
仅用于授权测试 :Kali内的工具可以用于测试和攻击,但只能在明确授权的情况下进行测试和攻击;
遵守法规法律:使用Kali时,务必遵守所在国家或地区的法律法规;避免违法犯罪。
2.2 使用环境
虚拟机或专用设备 :建议在虚拟机上运行,避免在主操作系统上直接安装,以防意外破坏系统或数据;
备份数据:Kali进行测试前,确保重要的数据以备份,避免因操作失误导致数据丢失。
2.3 更新于维护
定期的更新 :Kali Linux的工具和系统需要定期的更新,以修复漏洞和获取最新的功能;
更新命令 :sudo apt update && sudo apt upgrade -y
清理系统:定期清理不必要的文件和缓存,保持系统的轻量运行。
2.4 道德与责任
道德准则 :遵循渗透测试的道德准则,尊重他人隐私和数据安全;
报告漏洞:如果发现漏洞,及时向相关方告知,不要利用漏洞进行非法活动。
2.5 学习提升
持续学习 :Kali Linux是一个强大的工具集,但是需要不断的学习和实践才能熟练的掌握;
加入社区:可以和其他的安全爱好者交流经验。
3 kali快捷键
3.1 常用的快捷键
- 复制键 :
Ctrl+Shift+C
- 粘贴键 :
Ctrl+Shift+V
- 清屏键 :
Ctrl+L
- 停止当前任务 :
Ctrl+C
- 新建终端 :
Ctrl+Shift+T
- 字体放大 :
Ctrl+Shift+(+)
- 恢复原始大小 :
Ctrl+0
- 撤销操作 :
Ctrl+X+U
- 补全 :
Tab
3.2 其他快捷键
- 移动光标到开头 :
Ctrl+A
- 移动光标到结尾 :
Ctrl+E
- 删除光标之后的内容 :
Ctrl+K
- 删除光标之前的内容 :
Ctrl+U
- 新建窗口 :
Ctrl+Shift+N
- 关闭当前的终端页 :
Ctrl+Shift+W
- 切换终端页 :
Alt+数字
- 切换页面 :
Alt+Tab
4 命令行操作指令kali
4.1 命令行管理指令
sudo su
用于获取管理员(root)权限 ,以便执行一些需要更高权限才能完成的系统操作。
例如修改系统关键配置文件,安装特定软件等,在很多基于Linux的系统中,普通用户权限很小,需要提升权限来完成一些操作。apt-get
是一款功能强大的软件包管理工具,用于软件包的安装,更新以及日常管理 ,例如:
apt-get update
:执行该命令可以更新本地软件包列表,使其与软件源服务器上的最新信息同步,这是安装新软件包或升级已有软件包前的必要的步骤,能确保获取到最新的软件版本信息,如在安装新软件vim前先运行sudo apt-get update apt-get install vim
安装命令。
apt-get upgrade
:更新到最新版。ifconfig
用于显示系统所有网络接口的详细信息 ,包括但不限于网络接口的,IP地址,子网掩码, MAC地址以及网络接口的状态,这对于排查网络连接问题,配置网络参数等网络相关操作至关重要,网络连接异常时,输入ifconfig
查看网络接口是否获取到正确的ip地址。ping
用于想指定的IP地址或域名发送网络请求,用于测试网络连接。reboot
用于立即重启,正在系统更新软件,修改关键配置后可能需要重启以使更改生效,或者遇到系统死机,性能严重下降等故障情况,通过此命令重启恢复到正常运行(提前保存好数据)。shutdown -h now
用于立即关闭系统,通常在不需要系统继续运行下去,完成了当天的工作,进行硬件维护等场景下使用,和reboot相识,执行前保存好数据,防止丢失,他比普通关机更加直接速度。
4.2 系统信息查看指令
uname -a
显示系统的完整信息,包括内核版本,主机名,硬件平台等。top
进入top命令界面,实时显示系统各个进程的资源占用情况 ,像cpu使用率,内存使用量等,
退出按q
4.3 网络扫描与分析指令
nmap
强大的网络扫描工具,主要用于发现网络中的主机以及主机上开放的服务 ,助力网络管理员或安全人员了解网络态势;
nmap 目标ip
:会对目标ip地址展开基本的网络扫描操作,能初步探测目标主机开放的端口;
了解对正在对外提供的服务使用nmap 127.0.0.1 -Pn
此处的Pn为参数。netcat(nc)
是一款极多功能的网络工具,在网络连接 ,数据传输 等诸多场景广泛应用,既可以作为服务器端监听端口等待连接,也能作为客户端主动连接目标端口;
nc -lp 端口
:作为服务器端,在指定端口上进行监听,准备随时接收外来的连接信息;如nc -lp 9999
表示此刻该主机的9999端口处于监听状态,等待其他的主机连接;
nc 目标IP 端口
:扮演客户端角色,主动连接到目标IP地址的指定端口,实现与目标主机的交互,如nc 192.168.254.245 9999
表示将尝试与主机IP为192.168.254.245 端口 9999的主机连接,进行数据传输等操作。
4.4 目录管理指令
pwd
显示当前工作目录的路径 ,让用户清楚知晓当前所在目录位置;
示例:在命令行中输入pwd
,会输出类似/home/kali
这样的当前目录绝对路径。cd
切换当前工作目录 ,进入当前路径下的文件夹。
cd ..
:返回上一级目录 ;
cd ~
:返回根目录。ls
列出当前目录下的内容 ,展示当前目录下有哪些文件和子目录。语法分析:
ls
:列出当前目录下的文件和子目录 ;
ls -l
:以长格式列出文件和目录的详细信息,包括权限;
ls -a
:列出所有文件和目录,包括隐藏文件,隐藏文件以.
开头。tree
显示文件和目录的树形结构 ,以直观的层级方式呈现目录包含关系,能清晰看到各级子目录及其中的文件分布
示例:在包含多层子目录的文件的目录下输入tree
,会输出类似以树状分支形式展示的目录结构,根节点为当前目录,分支为子目录,叶子节点为文件。which
查找某工具的完整路径 ,常用于确定系统命令在文件系统中的具体位置,方便排查命令执行问题或了解系统配置。语法示例:
which nc
(查找nc工具的位置)--> (返回值)/usr/bin/nc
which只能显示shell命令的路径,不能用于非执行文件或脚本,即它针对的式哪些可以在命令直接执行的程序,而非普通的数据文件,文本文件等。
4.5 文件管理命令
touch
创建空文件 :touch 文件名.后缀
mkdir
创建目录 :mkdir 文件夹名
rmdir
删除空目录 :rmdir 文件名
rm
删除有文件内容的文件夹/目录
rm -f
:强制删除文件
rm -r
:删除文件夹及文件夹里的所有内容
rm -rf /*
:删除根目录下的所有内容(禁用的命令)cp
复制文件或目录(复制)
cp 之前的名字 新的文件名复制文件夹
cp -r 之前的名字 新的文件名
mv
移动文件和目录(剪切)
mv 之前的名字 新的文件名
mv 文件名字 需要移动到的目录路径/新名字
echo
用来写入内容,可以覆盖也可以追加
覆盖语法:echo 输入的内容 > 指定的文件
追加语法:echo 输入的内容 >>指定的文件
cat
查看文件内容 :cat 文件名称
vim
进入vim编辑器可以直接编辑:vim 文件名称
;
进入文件后输入i
开始编写;
编写完成后Esc
按键,输入:
;然后输入
wq
退出
q
不保存退出
q!
表示强制退出
wq!
保存内容并强制退出。
4.6 压缩与解压
在实际使用这些命令的时候,需要根据具体的系统环境,需求以及文件特性来选择合适的压缩方式:比如压缩比要求较高,可以选择bzip2或gzip结合tar的方式,简单归档,非压缩的tar包即可满足需求。
4.6.1 非压缩的tar包
原理: tar命令主要用于将多个个文件和目录打包成一个文件 ,他本身并不进行压缩操作 ,他只是简单的把文件和目录的元数据和数据内容按照一定的格式组合在一起。
特点:
- 打包速度快,因为没有压缩算法的处理过程,所以在处理大量文件时,tar可以迅速的将他们打包成一个文件
- 对于归档存储,当不需要考虑磁盘空间问题时,只需要将文件和目录集中保存时,tar时很好的选择
缺点:由于没有压缩,文件大小不会减小,如果存储或传输的量大时,可能会占用比较多的空间
4.6.2 bzip2或gzip结合tar的方式
原理:当tar与bzip2或gzip结合使用时,tar先将文件和目录打包,然后bzip2或gzip对打包文件进行压缩。
特点:可以减小文件的大小,对一些大文件或数据备份文件等,经过bzip2或gzip的压缩后,文件大小可能只是原来的几分之一甚至会更小节约了磁盘空间。
缺点:压缩和解压的过程需要消耗更多的时间和计算机资源:时间慢。
4.6.3 bzip2
用于对单个文件进行压缩与解压操作,以实现文件存储优化或传输便利。
压缩语法:bzip2 文件名
演示:bzip2 11
创建一个名为11.bzip2的压缩文件;
解压:bunzip2 压缩文件名称
4.6.4 gzip
同样专注于单个文件的压缩和解压,与bzip2类似但是采用不是同样的算法。
压缩语法:gzip 文件名
演示:gzip 11
创建一个名为11.gzip的压缩文件;
解压:gunzip 压缩文件名称
4.6.5 rar
这是一个非标准的Linux工具;
安装语法(仅适用于在Debian的系统):apt-get install rar
这个命令在Debian的系统上安装rar工具,后续进行压缩和解压操作。
语法:
rar a 压缩文件名 目录
;rar a(参数) 压缩后更改新的文件名 原文件名称
;rar a(压缩函数) 需要更改成新的文件名称 现在的文件名称
演示:rar a 目录.rar 目录
(将指定的目录文件夹压缩为目录.rar文件,方便存储和传输)
解压:rar x(解压函数)压缩文件名
(rar a 新的文件名 现在的文件名)
4.6.6 tar
功能强大,可用于创建不同格式的压缩包以及查看压缩包内容,常与其他压缩工具(bzip,gzip)配合使用,尤其适用于处理文件夹的打包与解包。
tar -cvf 新文件名.tar 原文件名
显示文件内容:tar -tf 文件名称.tar
将文件名称文件中的所有文件和目录,便于在不解包的情况下查看包内详细内容 ;
tar解压语法:tar -xvf 压缩文件名称
- 创建一个bzip2格式的tar包
语法:tar -jcvf 新文件名称.tar.bz2 原文件名称
解压bzip2格式的tar包:tar -jxvf 文件名称
- 创建一个gzip格式的压缩包
语法:tar -zcvf 新文件名称.tar.gz 原文件名称
解压gzip格式的tar包:tar -zxvf 文件名称
本文内容源于好课优选教育网络安全培训后的笔记整理!