1.VMware原理
1.1Hypervisor
hypervisor虚拟化内存的方法是创建一个shadow page table:虚拟内存->虚拟的物理内存->真正的物理内存
1.2桥接,NAT模式,仅主机模式的区别
桥接模式的虚拟机,就像一个在路由器"民政局"那里"上过户口"的成年人,有自己单独的居住地址,虽然和主机住在同一个大院里,但好歹是有户口的人,可以大摇大摆地直接和外面通信。
NAT模式的虚拟机,纯粹就是一个没上过户口的黑户,路由器"民政局"根本不知道有这么个人,自然也不会主动和它通信。即使虚拟机偶尔要向外面发送点的信件,都得交给主机以主机的名义转发出去,主机还专门请了一位叫做NAT的老大爷来专门负责这些虚拟机的发信、收信事宜。
仅主机模式的虚拟机,纯粹是一个彻彻底底的黑奴,不仅没有户口、路由器"民政局"不知道这么号人,还被主机关在小黑屋里,连信件也不准往外发。
https://www.cnblogs.com/xuan52rock/p/5295069.html
1.3FAT32和NTFS文件系统的区别
https://blog.csdn.net/sj349781478/article/details/74058960
1.4为什么使用虚拟机就不容易被找到?(虚拟机的MAC地址)
https://www.cnblogs.com/Solomon-xm/articles/10253575.html
2.DOS命令和批处理
2.1常用DOS命令
https://www.jianshu.com/p/bfcbdbc467c9
3. 破解windows密码
3.1破解windowsXP密码(镜像)
https://jingyan.baidu.com/article/9113f81b2e518c2b3314c746.html
3.2破解windows7密码(利用5次shift漏洞破解win7密码)
https://blog.csdn.net/weixin_44421798/article/details/100405496
4.CentOS7操作方法
https://www.bilibili.com/video/av55883609?p=2
4.1常用shell命令
注销用户:logout、exit
重启:reboot、shutdown -r now
关机:halt、shutdown -h now
查看系统信息:uname 系统版本
uname -a: 查看所有内核信息
man uname: 所有帮助信息系统
df:文件系统
uptime:当前系统运行时间
free:内存使用状况
cat/proc/cpuinfo:cpu详细信息
top:cpu使用情况
last:登录日志信息
cal:日历
date:当前日期
4.2远程连接服务器
使用putty
4.3Linux文件管理
/bin:存放常用命令,普通用户也可运行
/dev:存放设备文件
/boot:存放内容及引导系统程序文件
/home:普通用户主目录
/lib:库文件
/tmp:临时文件
/usr:系统存放程序
常用快捷键
Ctrl +K:清掉前面
Ctrl +U:清掉后面
Ctrl +L:清屏
Ctrl +C:结束运行
4.3.2文件目录操作
mkdir:创建文件夹 -p连续创建 -m创建时设定权限
touch:命令创建/更新文件 touch 文件名
cp: -a 保留链接,递归复制目录 -i如果目标已存在,则提示 -r复制目录
mv:移动,可用来重命名
rm:删除命令
rmdir:删除文件夹 -p删除指定目录树 -v删除过程中输出诊断信息
find:命令查找文件 -name文件名 -user用户名 -type文件类型 -size文件大小 -atime文件最后访问日期 -mtime 文件最后修改日期
4.4vim编辑文档
4.4.1使用vim
https://www.runoob.com/linux/linux-vim.html
4.4.2查看文件内容命令
more/less 浏览文件的全部内容
cat 查看文件内容 -n 从1开始编号 -b从1开始对非空行号编号 -s当遇上连续两行以上空白行时,用一个空白行代替
head/tail 显示文件头部/尾部(一般是10行) -5 5行
grep查询字符串 grep 关键字 查找范围
4.4.3管道符 |
将一个命令的执行结果作为另一个命令的输入。#ls /etc | less
4.4.4重定向
让命令从非默认的输入输出设备获取输入输出信息
>输出重定向
>>输出重定向(不覆盖,会追加在原文件后面
<输入重定向
2>错误重定向
&>输出重定向
4.5磁盘分区与文件系统的挂载
4.5.1挂载文件系统(因为设备目录在dev下,不能直接使用,需要使用挂载)
命令格式:mount [选项][设备名][挂载点]
-t 指定要挂载文件系统的类型,如果不清楚,可以使用-t auto让系统自己选择最合适的
-r 以只读的方式挂载文件系统
-w以读写的方式挂载文件系统,默认
-o设置挂载属性
-a挂载/etc/fstab文件中记录的设备
4.5.2使用u盘备份文件
4.5.3提高命令效率
命令别名:alias uname=命令
历史:history
vim/etc/fstab
4.5.4用户与用户组
4.5.4.1用户
https://www.wenrouge.com/post/1422
用户配置文件:/etc/passwd etc/shadow
用户组配置文件:/etc/group /etc/gshadow
chage [选项] 用户名 -m密码 -W密码到期时提前收到通知天数 -M密码有效最大天数 -E账号到期琪琪 -d上一次更改日期 -I停溢时期 -l列出当前设置
chfn 修改用户注释信息 -f真实姓名 -h电话 -o 办公室地址 -p办公室电话
修改用户登陆类型 chsh -s /sbin/nologin jack
4.5.4.2用户组管理
创建用户组:groupadd
修改命令组:groupmod -n修改组名 -g修改组标识号GID
删除命令组:groupdel 组名
维护组:gpasswd 选项 用户名 组名 -a添加用户到组 -d将用户删除 -A设置用户为组管理员
普通用户加入组:newgrp 组名
4.5.6文件权限管理
4.5.6.1文件属性
https://blog.csdn.net/school11/article/details/88529146
配置文件属性命令: chmod [who][opt] <fileName|dirName>
-u文件所有者 -g文件属性 -c其他用户 -a所有用户
修改文件组:
chown : 用户组 文件名
4.5.6.2提升用户权限
a:查看是否已经安装sudo
b:/etc/sudoers
添加权限(在sudoers里加上)teacherli ALL=(ALL) ALL
4.5.6.3系统高级权限设置
(1)细分权限
setfacl:设置某个用户权限
setfacl -m u::rwx
getfacl:得到某个文件权限
(2)强制位权限SBIT(有写权限,但无删除权限)
chmod o+t 目录名
4.6服务与进程管理
4.6.1Linux系统启动过程
SHAPE \* MERGEFORMAT
https://www.jb51.net/article/162876.htm
(1)系统运行级别:
使用init命令进行切换,命令格式:init 级别编号
•0:关机模式
•1:单用户模式
•2:无网络支持的多用户模式
•3:字符界面多用户模式
•4:保留,未使用模式
•5:图像界面多用户模式
•6:重新引导系统,重启模式
target文件保存在 /lib/systemd/system目录中
运行级别的设置有/etc/system/default.target文件来控制
运行级别服务程序存放位置:/etc/rc.d/
服务进程存放在运行级别对应的目录中:Snnxxxx或Knnxxxx
服务程序的脚本文件存放位置:/etc/rc.d/init.d/
4.6.2使用sustemctl管理服务
(1)服务的启动和停止
启动:systemctl start【服务】
查询:systemctl status 【服务】
停止:systemctl stop 【服务】
重启:systemctl restart 【服务】
(2)设置服务自启动状态
a. 使用ntsysv
命令格式:ntsysv [--back] [--level]
back,在互动界面不显示cancel;level,在置顶的运行级别中设置服务的自启动
4.6.3进程的管理
(1)
进程的查看:ps命令
-A 显示所有进程循序 -a显示所有用户进程信息 -f:完成的显示进程的所有信息 -l:以长格式显示进程信息 -r:只显示正在运行的进程
查看进程级别关系:pstree
进程终止:kill pid或kill 进程名 kill -9 强制关闭
(2)进程的调度
延时运行命令:at [-f] [-m] 时间 -f 指定文件 -m作业借宿后发送邮箱给执行at命令的用户(Ctr+d退出命令编辑)
绝对表示法:MMDDYY或MM/DD/YYY, today或tomorrow来表示今天或明天
相对表示法:now+num+时间单位,其中时间的间隔可以是minutes,hours,days,weeks
周期性调度命令crontab
命令格式:crontab [-u] user { -e | -l | -r} -u制定用户 -e编辑计划任务列表 -l查看制定用户的计划任务列表 -r删除用户的计划任务列
分时 日 月 周 命令
其中:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
SHAPE \* MERGEFORMAT
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如day字段如果是星号,则表示在满足其它字段的制约条件后每天都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
4.7软件安装与包管工具
4.7.1软件安装方法
RPM包安装
YUM源安装
源代码安装
4.7.2RPM包管理工具使用
SHAPE \* MERGEFORMAT
可用telnet远程登录linux服务器
4.7.3YUM安装
YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。
SHAPE \* MERGEFORMAT
SHAPE \* MERGEFORMAT
建立本地yum源:
清楚yum缓存:yum clean all
重新生成yum源:yum makecache all
安装软件:yum install 软件名称
删除软件:yum remove 软件名称
4.7.4TAR包工具
SHAPE \* MERGEFORMAT
5Web安全入门
5.1IP网络的配置使用
5.1.1DVWA安装
https://blog.csdn.net/qq_40023447/article/details/80960325
5.1.1.1.防止自动更新网络关闭系统提供的网络服务管家
/etc/init.d/NetworkManager stop 立即关闭NM
chkconfig --level 2345 NetworkManager off 下次开机后不开启NM
5.1.1.2.通过配置文件配置ip地址
https://baijiahao.baidu.com/s?id=1659571844291911748&wfr=spider&for=pc
IPADDR:要与上面记下来的子网IP的网段一致,后三位可随意。网段要一致
GATEWAY:网关地址,用上面记下来的网关IP。
NETMASK:子网掩码,用上面记下来的子网掩码。
DNS1:dns服务器1,填写你所在的网络可用的dns服务器地址即可。
5.1.1.3.开启路由转发功能
vim /etc/sysctl.conf 开启配置文件
net.ipv4.ip_forward = 1 开启路由转发功能
sysctl -p 使得配置文件生效
5..1.3upload-labs
5.1.4课程源码环境web
5.2DHCP
5.2.1DHCP协议(局域网协议,不能跨网域)
SHAPE \* MERGEFORMAT
5.2.2软路由:电脑分配
SHAPE \* MERGEFORMAT
5.2.3安全威胁
5.2.3.1饿死攻击(耗尽服务器地址)
服务器根据chadder(MAC地址)分配IP
5.2.3.2仿冒服务器攻击
路由器自动开启DHCP,非法给PC分配错误的IP
SHAPE \* MERGEFORMAT
5.2.3.3中间人攻击ARP
做一个虚假ARP映射,服务器与终端之间的信息要经过中间人。
5.2.3.4snooping解决
1.制作一个绑定表,对chadder与MAC进行检测,如果已经为某个MAC提供IP,则不再提供多余的IP。
2.信任端口与费信任端口(默认非信任,需要自己设置好信任端口)
3.将IP MAC 端口进行 绑定
6.CentOS配置
6.1mySQL安装
https://www.cnblogs.com/shuo1208/p/11237713.html
6.2LAMP配置
6.2.1.安装php解析
6.2.2启动apache
6.2.3phpmydimin功能搭建
6.2.4web服务设置
6.2.5nginx的搭建
https://www.cnblogs.com/sunny1009/p/11411673.html
6.2.6telnet的安装和使用(ssh服务)
https://www.cnblogs.com/daipenglin/p/4934572.html
7iptables 防火墙控制
SHAPE \* MERGEFORMAT
7.1iptables概述
7.1.1netfilter/iptables:IP信息包过滤系统,它实际上由两个组件netfilter和iptables组成
7.1.2netfilter/iptables关系:
netfileter组件也成为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
iptables组件是一种工具,也称为用户空间(userspace),它使插入、修改和出去信息包过滤表中的规则变得容易。
7.1.3netfilter/iptables:是一个基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表。所有规则配置后,立即生效,不需要重启。
7.1.4三张表
filter负责过滤数据包,包括规则链:Input,output和forward;
nat则涉及到网络地址转换,包括规则链有:prerouting,postrouting和output;
mangle表则主要应用在修改数据包内容上,用来做流量整形的,给数据包打个标识,默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;
7.1.5五个链
input匹配目标IP是本机的数据包
output出口数据包,一般不配置
forward匹配流经本机的数据包
prerouting用来修改目的地址,用来做DNAT。如:把内网的80端口映射到路由器外网端口。
postrouting用来修改原地址做SNAT。如:内网通过路由器NAT转换功能实现内网PC机通过一个公网IP地址上网。
SHAPE \* MERGEFORMAT
7.1.6流程
SHAPE \* MERGEFORMAT
SHAPE \* MERGEFORMAT
7.1.7安装iptables
rpm -qf 'which iptables'
rpm -ivh rpm文件
配置文件位置 /etc/sysconfig/iptables
启动服务:/etc/init.d/iptables
7.1.8命令格式
SHAPE \* MERGEFORMAT
7.1.9语法总结
SHAPE \* MERGEFORMAT
7.2命令使用
查看所有规则
iptables –L <链名>
增加规则:-A 链名
iptables -t filter -A INPUT -j DROP #拒绝所有人访问服务器
删除规则:-D 链名
iptable -D INPUT 1 #默认filter表,删除INPUT链第一条规则 SHAPE \* MERGEFORMAT
设置某条链的默认规则:-P
iptables -P INPUT DROP
FLUSH,清空规则:-F
iptables -F INPUT #清除INPUT链上的规则
iptables -t nat -F ##清空NAT表中所有链上的规则
7.3匹配条件
流入、流出接口(-i、-o)
来源、目的地址(-s、-d)
协议类型(-p)
来源、目的端口(--sport、--dport)
7.3.1动作(处理方式)
ACCEPT 接受
DROP 丢弃 不给对端任何回应
REJECT 拒绝 拒绝后,给端一个回应
SNAT
DNAT
MASQUERADE 假面舞会(伪装一个公网ip地址).