什么是Linux操作系统
Linux 是一种自由和开放源码的类 UNIX 操作系统。
是一个开源的系统,网上的对Linux教程和问题的解决社区;
window和linux的对比
目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下
| 比较 | Windows | Linux |
|---|
| 界面 | 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 | 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。 |
| 驱动程序 | 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 | 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。 |
| 使用 | 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 | 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。 |
| 学习 | 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 | 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。 |
| 软件 | 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 | 大部分软件都可以自由获取,同样功能的软件选择较少。 |
快照的拍摄
操作系统正常,先拍摄快照,防止操作系统崩溃,数据还原;
Linux的文件结构
Linux当中,所有的设备,所有的硬件,软件,网卡等、、、一切皆文件,
相对路径
绝对路径
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
/usr/share: 这里面一般放的是新加的软件和下载文件。(一般存放flag值)
- /bin 存放普通用户能够运行的命令
- /sbin 管理员可以执行的命令
- /boot 存放操作系统启动、引导配置文件
- /dev 存放存储文件的、硬盘等
- /etc 系统和应用服务配置文件
- /home 普通用户的家目录,相当于windows用户文件
- /lib 存放函数库文件
- /media 挂载光盘等存储介质的目录
- /mnt 同上
- /opt 用来安装大型程序
- /proc 开机生成的配置文件,谁开机生成的进程、配置文件
- /root 超级用户的家目录
- /sys 存放系统配置文件
- /usr 安装一些外部程序
- /var 日志、临时文件等
复制代码
kali Linux的简单介绍
Kali Linux是基于Debian 的Linux发行版,设计用于数字取证操作系统。Back Track是他们之前写的用于取证的Linux发行版。Kali Linux预装了许多渗滲透测试软件,包括nmap 、 Wireshark 、 John the Ripper, Kali Linux。以及Aircrack-ng.用户可通过硬盘、Iive CD或Iive USB运行,Kali Linux是专业的渗透測试系统,预装了许多渗透测试软件,仅此而已。
基础命令
vim命令
文件权限
1、白色:表示普通文件(-)
2、蓝色:表示目录(d)
3、绿色:表示可执行文件(-)
4、红色:表示压缩文件(-)
5、浅蓝色:链接文件(l)
6、黄色:表示设备文件©
7、粉红色:表示套接字文件(socket)
8、暗黄色文件:表示管道(p)
kali的常见工具
- fping -g 192.168.199.0/24
- nmap 192.168.199.1-50
- nbtscan -r 192.168.199.0/24
- netdiscover -i eth0 -p
复制代码
查看命令
我们要查看一些文本文件的内容时,要使用文本编辑器来查看。在Linux下,可以使用一些命令预览文本文件中的内容,而不必使用文本编辑器打开查看。这篇笔记分享几个常用的文本查看命令。分别是:
- cat:从第一行开始显示文本内容(适用于内容较少的)
- tac:从最后一行开始显示,是 cat 的逆顺序
- more:一页一页的显示文本内容(适用于内容较多的)
- less:与 more 类似,但是比 more 更好的是,它可以往前翻页!
- head:只看文本的前面几行
- tail:只看文本的后面几行
- nl:显示文本内容与行号
- man + 命令 :会把完整的实验手册显示出来
- stat 命令: 查看文件详细信息
- du + 文件名
- whereis nmap :文件路径
- #从根目开始,查找名称以nginx开头的目录和文件
- find / -name nginx*
- #查找文件大小超过100M的文件
- find / -size +100M
- #查找/home/zx目录下,10分钟内被修改过的文件和目录
- find /home/zx/ -mmin -10
- grep 查找文件的内容
- grep -c hello test.txt
- ps -ef|grep ssh
- cat test.txt |grep hello
- https://www.cnblogs.com/cainiao-chuanqi/p/16139235.html
复制代码
1、cat命令
cat命令常常用于查看内容较少的文件。很多人把这个命令叫做“小猫咪”命令,但cat其实是 concatenate(连续) 的缩写,即连续显示文本内容。
格式为:cat [参数选项] [文件]
其中,加上参数 -n 用可以显示行数。cat的更多的参数选项可以输入 man cat 进行查看。以下列举的其他命令的详细介绍也可以输入man 命令进行查看。
2、tac命令
tac命令的正好与cat命令相反,是从文件末尾开始显示。
3、more命令
more命令适用于查看内容较多的文件。因为他可以实时显示百分比以提示现在已经阅读了多少内容。
格式为:more [参数选项] [文件]
可以使用空格键或者回车键往下翻页查看后面的内容。
4、less命令
less也适用于查看内容较多的文件。less比more更为灵活,因为less可以往上、往下翻页。按下键盘上 PgUp 键可以往上翻页,按下 PgDn 可以往下翻页。但是less命令不会实时显示当前阅读的百分比。
格式为:less [参数选项] [文件]
5、head命令
head命令用于查看文件的前n行。如使用命令
head -n 20 /etc/profile
查看/etc目录下profile文件的前20行内容:
6、tail命令
tail命令与head命令相反,tail命令用于查看文件后n行内容。如:
7、nl命令
nl命令可以显示内容的同时显示行号,与 cat -n 命令的作用差不多:
以上命令就是Linux下的一些文本查看命令,虽说作用都一样,都是用来查看文本的,但是可以根据不同的情况来选择不同的命令来查看可以让我们更好地进行预览文件。另外,我们Windows下的黑窗口
1.查看操作:
查看目录:
- [root@Auscoo /]# ls
- [root@Auscoo /]# ll ls -la
- [root@Auscoo home]# du -h
- [root@Auscoo home]# pwd
- /home
- ll #显示目录文件详细信息
- du -h 文件/目录 #查看大小
- pwd #显示路径
复制代码
查看文件内容
- [root@Auscoo Auscoo]# mkdir auscoo
- [root@Auscoo Auscoo]# vim 123.txt
- [root@Auscoo Auscoo]# touch abc.sh
- mkdir abc.txt #新建一个文件夹vim 123,txt #新建一个txt文本文件
- touch abc.sh #新建一个文件
- echo 123 >> 123.txt
复制代码
cat|head|tail命令
- [root@Auscoo Auscoo]# cat abc.txt
- Hello world!
- [root@Auscoo Auscoo]# head -5 abc.txt
- [root@Auscoo Auscoo]# tail -2 abc.txt
- 信息安全实验手册
- cat abc.txt #查看abc的内容
- head -5 abc.txt #查看abc前5行内容。默认是10行
- tail [选项] 文件名
- 各选项的含义如下:
- -num:从距文件尾num行处开始显示。如果省略num参数,系统默认值为10.
- -f: 循环读取,例如查看服务器日志时,可以实时观察
- #filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新。
- tail -f filename
复制代码
more命令:
- [root@Auscoo Auscoo]# more abc.txt
- Hello world!
- more命令一次显示一屏信息,若信息未显示完屏幕底部将出现“-More-(xx%)”。
- 此时按Space键,可显示下一屏内容;
- 按“回车”键,显示下一行内容;
- 按B键,显示上一屏;
- 按Q键,可退出more命令。
复制代码
**less命令:**和more命令类似,但是比more命令更强大。在很多时候,必须使用less,比如管道。例如:
- [root@Auscoo Auscoo]# ll /etc | less
- ll /etc | less
复制代码
stat 命令:
查看文件的详细信息,比如创建修改时间,大小等
- [root@Auscoo Auscoo]# stat abc.txt
- 文件:"abc.txt"
- 大小:61 块:8 IO 块:4096 普通文件
- 设备:803h/2051d Inode:543458922 硬链接:1
- 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
- 环境:unconfined_u:object_r:default_t:s0
- 最近访问:2020-07-26 11:17:15.954209041 +0800
- 最近更改:2020-07-26 11:16:55.492208065 +0800
- 最近改动:2020-07-26 11:16:55.492208065 +0800
- 创建时间:-
复制代码
du 命令:
选项:-h 以合适的单位显示(会根据文件的大小自动选择kb或M等单位)
- [root@Auscoo Auscoo]# du -h abc.txt
- 4.0K abc.txt
复制代码
2.删除操作:
- [root@Auscoo Auscoo]# rm -f auscoo
- rm: 无法删除"auscoo": 是一个目录
- [root@Auscoo Auscoo]# rm -rf auscoo
- rm -f aa.txt #强制删除aa.txt
- rm -rf fileDir #强制删除fileDir文件夹和里边的所有文件
复制代码
3.复制操作:
- [root@Auscoo Auscoo]# cp abc.txt auscoo
- cp:复制文件或目录
- 语法:
- cp [options] source dest
复制代码
远程复制
- #将当前目录下的test.txt复制到远程111.12机器的/zx目录下
- scp test.txt root@192.168.111.12:/zx
- #将test.txt复制到远程用户的根目录,并命名为textA.txt
- scp test.txt root@192.168.111.12:testA.txt
- #也可以不指定用户,在后续提示中再输入,如下:
- scp test.txt 192.168.111.12:/zx
- #从远程复制到本地: -r用于递归整个目录
- scp -r remote_user@remote_ip:remote_folder local_path
复制代码
4.移动操作:
移动操作可以理解成复制文件后,删除原文件
- [root@Auscoo Auscoo]# mv /home/* .
- mv:是否覆盖"./auscoo"?
- [root@Auscoo auscoo]# mv a.txt ./test/a.txt
- mv /zx/soft/* . #复制/zx/soft目录中的所有文件到当前目录
- mv a.txt ./test/a.txt #复制当前目录a.txt到当前的test目录下。
- mv /zx/soft/ /tmp/soft #复制文件夹到/tmp/下,必须保证tmp是存在的文件夹
复制代码
5.重命名操作:
重命名还是用的移动操作命令,比如:
- [root@Auscoo auscoo]# mv abc.txt abcd.txt
- #将目录(文件)A重命名为B
- mv A B
- #将/a目录(文件)移动到/b下,并重命名为c。要保证b目录存在。
- mv /a /b/c
- #将当前test1目录移动到当前的test目录并命名为b
- mv ./test1 ./test/b
复制代码
7.上传文件:
从本地windows上传一些文件到远程Linux服务器可以通过xshell的xftp也可以通过下面这个小工具lrzsz,使用更加方便。
- yum install lrzsz #安装工具
- 常用命令:
- sz dist.zip #下载文件dist.zip到本地
- rz #会打开窗口,上传文件到远程服务器
复制代码
8.file 和 touch命令:
file命令 用于识别文件的类型
Linux中文件后缀只是方便使用者识别,没有实质的约束作用。file命令可以查看文件的实质类型:
选项说明:
- 文件|目录:需要识别的文件或目录
- -b: 显示识别结果时,不显示文件名
- -c: 显示执行过程
- -L: 直接显示符号链接文件指向的文件类型
- -z: 尝试去解读压缩文件的内容
示例: 可以看出,index.mp4本质是一个HTML而非一个mp4文件
- [root@VM_0_13_centos soft]# file index.mp4
- index.mp4: HTML document, UTF-8 Unicode text, with very long lines
复制代码
touch命令: 用于改变文件或目录的访问时间和修改时间。
- touch [-am] [-t<日期时间>] [目录|文件]
复制代码
如果指定目录文件不存在,则会直接创建一个空文件,所以touch也常用来创建一个空白文件
- #创建一个新文件aa.txt
- touch aa.txt
复制代码
选项说明:
- -a: 只修改访问时间
- -m : 只修改 修改时间
- -t : 使用指定日期时间,而非系统时间 。例如要修改为2019年10月20日16:38分13秒。参数就是:‘20191020163813’
示例:
修改之前可以先查看文件的时间戳: 用stat 命令查看
- [root@VM_0_13_centos soft]# stat index.html
- File: ‘index.html’
- Size: 17215 Blocks: 40 IO Block: 4096 regular file
- Device: fd01h/64769d Inode: 529352 Links: 1
- Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
- Access: 2019-10-23 15:15:37.280616254 +0800
- Modify: 2019-10-23 15:15:37.280616254 +0800
- Change: 2019-10-23 15:15:37.290616257 +0800
- Birth: -
复制代码
开始修改:将index.html文件的访问和修改时间修改成当前系统的时间。
9.查找操作:
对于要用到的文件,目录等,经常有忘记的时候,所以查找命令就显得极为必要:
find: 查找文件或目录 (常用)
语法如下:
- find [目录…] [-amin <分钟>] [-atime <24小时数>] [-cmin <分钟>] [-ctime<24小时数>][-empty][-exec<执行命令>][-fls<列表文件>][-follow]
- [-fstype <系统文件类型>] [-gid <组编号>] [-group <组名称>] [-nogroup] [-mmin <分钟>] [-mtime
- <24小时数>] [-name <查找内容>] [-nogroup] [-nouser] [-perm <权限数值>] [-size <文件大小>] [-uid
- <用户编号>] [-user <用户名称>] [-nouser]
复制代码
几个常用选项说明:
- -size <文件大小>:查找符合指定大小的文件。文件大小单位可以是“c”表示Byte;“k”表示KB。如配置为“100k”,find命令会查找文件大小正好100KB的文件;配置为“+100k”,find命令会查找文件大小大于100KB的文件;配置为“-100k”,find命令会查找文件大小小于100KB的文件。
- -user<用户名称>:查找所有者是指定用户的文件或目录,也能以用户编号指定
- -name <查找内容>:查找指定的内容,在查找内容中使用“*” 表示任意个字符;使用“?”表示任何一个字符
- -mtime <24小时数>:查找在指定时间曾更改过内容的文件或目录,单位以24小时计算。如配置为2,find命令会查找刚好在48小时之前更改过内容的文件;配置为+2,find命令会查找超过在48小时之前更改过内容的文件;配置为-2,find命令会查找在48小时之内更改过内容的文件。
- -mmin <分钟>:查找在指定时间曾被更改过内容的文件或目录,单位以分钟计算。
- cmin <分钟>:查找在指定时间曾被更改过权限属性的文件或目录,单位以分钟计算。-ctime对应小时。
- -amin <分钟>:查找的是指定时间访问过的文件或目录。-atim对应小时。
- -perm <权限数值>:查找符合指定权限数值(有关权限数值见第6章)的文件或目录。如配置为“0700”,find命令会查找权限数值正好是“0700”的文件或目录;配置为“+0700”,find命令会查找权限数值大于 “0700”的文件或目录;配置为“-0700”,find
复制代码
选项大概有以下几类:
1.按时间范围查找
2.按文件大小查找
3.按文件名称查找
4.按其他:比如权限、用户组、类型等
示例:
- #从根目开始,查找名称以nginx开头的目录和文件
- find / -name nginx*
- #查找文件大小超过100M的文件
- find / -size +100M
- #查找/home/zx目录下,10分钟内被修改过的文件和目录
- find /home/zx/ -mmin -10
复制代码
Kali系统源:
相当于从软件仓库。更新Kali更新相当于Window打补丁。linux下载程序的两种方式:①.从系统源处下载。②.从第三方官网直接下载。
更新Kali
1.配置源信息
- uname --help
- cat /etc/os-release
-
- vim /etc/apt/sources.list
复制代码
2.在最后一行写:(删除之前的吧?
- #阿里云
- deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
- deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
- deb http://mirrors.aliyun.com/kali-security kali-rolling/updates main contrib non-free
- #阿里云kali源
- deb http://mirrors.aliyun.com/kali sana main non-free contrib
- deb http://mirrors.aliyun.com/kali-security/ sana/updates main contrib non-free
- deb-src http://mirrors.aliyun.com/kali-security/ sana/updates main contrib non-free
- #阿里2021.12.6官网复制
- deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
- deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
- #中科大
- deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
- deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
- #清华大学
- deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
- deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
- #清华大学
- #deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
- #deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
- 阿里云
- deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
- deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
- deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
- deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
- deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
- deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
- deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
- deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
- deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
- deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
- 中科大
- deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
- deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
- deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
- deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
- deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
- deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
- deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
- deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
- deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
- deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
- 清华大学
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
复制代码
3.更新:
- apt-get update && apt-get upgrade && apt-get dist-upgrade
复制代码
4.签名无效错误解决方法:
- 输入:wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
复制代码