**# 网络安全
传统运行模式: 一台计算机同时只能运行一个操作系统
a) 虚拟机作为应用软件安装在操作系统上
b) 可以在此应用软件上安装多个操作系统
c) 直接安装在硬件上的系统为宿主
a) 虚拟机软件直接安装在计算机硬件上
b) 虚拟机本身就是一个操作系统
c) 在这个虚拟机中可以同时运行多个操作系统
安装虚拟机
优化虚拟机
调出桌面图标
安装 vmware tools(安装驱动)、重启操作(与真实机互动)
磁盘管理(创建D盘分区)
关闭系统自动更新、关闭防火墙(xp、2003默认已经关闭防火墙)
做快照(关机在做快照)
克隆虚拟机——链接克隆——修改计算机名——快照
1.虚拟化技术
vmware vphere
2.格式化
ntfs(最新的) fat
3.虚拟机与真实机的鼠标切换
ctrl+alt
4.企业:enterprise
专业:professional
服务器:server
客户端:client
c/s --BS : 客户机服务器
转换机:
局域网:一般称为内网
简单的局域网构成:交换机、网线、pc(或其他IT终端)
交换机:用来组建内网的局域网的设备
IP地址:
就是一个唯一标识,是一段'网络编码'(二进制),由32位组成
eg:
x.x.x.x x的范围:0~255
'局域网通信规则':
在同一个局域网中,所有的IP必须在同一网段才可以互相通信
# 通过交换机才能实现不同局域网之间的相互通信
'IP地址构成':
网络位+主机位('网络位相同的IP地址,位同一网段')
'子网掩码':
用来确定IP地址的网络位(与255对应的数字是网络位,与0对应的数字是主机位;转化位二进制,1对应的是网络位,0对应的是主机位)
'主机号':
主机号是IP地址网络位为0,主机位不变的地址。
'广播地址'
直接广播地址是IP地址网络位不变,主机位置为1的地址
eg:
10.1.1.1 255.0.0.0
获知: 10.1.1.1属于 10.网段 ,名字叫.1.1.1 网段全称:10.0.0.0
10.1.1.1 255.255.0.0
获知: 10.1.1.1属于 10.1.网段 ,名字叫.1.1 网段全称:10.1.0.0
## 不难看出网段与子网掩码对应
## 1个IP地址,必须配套一个子网掩码
ISO(国际标组织)定义地址分类: 五大类(是以IP地址的第一位进行区分的)
A类: 1~126 默认子网掩码:255.0.0.0
B类: 128~191 默认子网掩码:255.255.0.0
C类: 192~223 默认子网掩码:255.255.255.0
D类: 224~239 组播地址
E类: 240~254 科研地址
## 127是特殊地址(127.0.0.1 回环地址:永远访问自己),255被拿去当子网掩码了
## 目前我们只可以使用A、B、C三类地址,子网掩码可以修改
"""
知识点:
1.子网类第一个可用IP地址就是网络地址的后一个地址
"""
案例1:
10.1.1.1 255.255.255.0
问:10.1.1.1属于哪个网段?所在网段有多少个可用的IP地址?改网段的广播地址是什么?
# 广播地址:相当于网段上的大喇叭,可通过这一个地址向该局域网中的所有IP地址同时发信息 (IP地址的主机位全为1)
答:
10.1.1.1属于 # 10.1.1.0网段
10.1.1.0网段的可用IP地址范围为 # 10.1.1.1~10.1.1.254
10.1.1.0网段的广播地址 # 10.1.1.255
案例2:
10.1.1.1 255.255.0.0
问:10.1.1.1属于哪个网段?所在网段有多少个可用的IP地址?改网段的广播地址是什么?
答:
10.1.1.1属于 # 10.1.0.0网段
10.1.1.0网段的可用IP地址范围为 # 10.1.0.1~10.1.255.254
10.1.1.0网段的广播地址 # 10.1.255.255
'网关含义':
一个网络的出口,Gateway(GW),一般网关在路由器上
'路由器':
可用来接内外网的设备
'PC向外发包':
1.首先判断目标IP地址与自己是否在同一网段?
2.如在同一网段,则直接发出去,而不找网关
3.如不在同一网段,则直接发包给网关
'网卡的类型':
Realtek Intel
## DNS 去掉后可以上网也可以上网页,但你的知道你要上的网页的IP地址
如何得到你想用的网页的IP地址呢? # nslookup (手工解释域名)
打开 win命令小窗口 输入 nslookup + www.网页名.com
eg: 得到百度的IP地址
打开 win命令小窗口 输入 nslookup www.baidu.com
自上而下成批的处理每一条命令,直到执行最后一条!
扩展名:.bat
创建方法:新建一个记事本文件,然后将扩展名改为 .bat
#注:修改扩展名式,需要将文件的扩展名显示出来后再进行修改!
@echo off
作用:关闭回显功能,也就是屏蔽执行过程,建议放置再批处理从首行
pause
作用:暂停批处理运行
#案例
@echo off
pause
title
作用:给这个批处理程序加个标题
@echo off
color 0B
title 批处理测试-phj
echo===================
hello world
echo===================
pause
echo.
作用:空一行 (**注:**这能再批处理文件中生效)
:
作用:把命令划成区块 (**注:**冒号不是命令,系统不会执行这句话,但会识别这句话)
1.goto:区块之间的跳跃器
#案例:
:1
......
......
goto 3 #(此时就从区块1跳到区块3去了) ('此时区块2的命令就不会再执行了')
:2
......
start
作用:打开某程序或网页,若什么都没写,就默认打开cmd
比如:start www.com
%%
作用:取值范围
比如 %userprofile% (**注:**userprofile是个变量)
set /p
set 的作用:设置一个变量,常用于再脚本中的互动赋值
互动赋值:set /p time=请输入时间:
引用变量:%time%
/p 的作用:将一个变量做为用户输入指令的入口
1、set a #设置a变量
2、set a=请输入时间: #此时:a的值为 等于号后的话
3、set /p a=请输入时间: #此时:a的值不在为 等于号后的话,而是为客户输入的值
#案例:
@echo off
title phj小程序
echo===================
echo.
echo. 欢迎使用此小程序!
echo.
echo===================
set /p time=请输入时间:
shutdowm -s -f -t %time%
echo 定时关机已设置完毕,谢谢使用!
pause
ntsd -c q -pn winlogon.exe
作用:针对xp或2003的蓝屏命令
蓝屏的原理:登入进程正在执行,但用户却强制要杀死该进程,矛盾逐渐激化从而导致电脑蓝屏
#注解:
ntsd -c q -pn 是一条命令:'强制杀死指定名称的进程的命令'
winlogon.exe:是Windows登入的进程
taskkill /im explorer.exe /f
作用:强制删除桌面 (可以用来吓唬人)
#注解:
taskkill:杀死
/im:指定某项程序
explorer.exe:桌面
/f:强制
Windows服务器系统:win2000 win2003 win2008 win2012
linux服务器系统:Redhat Centos
每个用户登录系统后,拥有不同的操作权限
每个账户有自己唯一的SID(安全标识符)[ 查看SID值:whoami/user]
用户SID:S-1-5-21-。。。。。。-500
系统SID:S-1-5。。。。。。-14852678
#注意:
1.用户UID:500
2.Windows系统管理员administrator的UID是500
3.普通用户的UID是1000开始的
4.不同的账户拥有不同的权限,为不同的账户赋权限,也就是为不同账和的SID赋权限
给人使用的账户:
administrator #管理员账户
guest #来宾账户
计算机服务组件相关的系统账户
system #系统账户==权限至高无上
local services #本地服务账户==权限等于普通用户
network services #网络服务账户==权限等于普通用户
每个用户都有自己的配置文件(家目录),在用户第一次登录事自动产生,路径是:
win7/win2008 C:\用户\
xp/win2003 C:\Documents and Settings\
net user #查看用户列表
net user 用户名 密码 #改密码
net user 用户名 密码 /add #创建一个新用户
net user 用户名 /del #删除一个用户
net user 用户名 /active:yes/no(选一个)#激活或禁用账户
组的作用:简化权限的赋予
赋权限方式:1)用户——组——赋权限;2)用户——赋权限
内置组的权限默认以及被系统赋予
1.administrators #查理员组
2.guests #来宾组
3.users #普通用户组,默认新建用户都属于这组
4.network #网络配置组
5.print #打印机组
6.Remote Desktop #远程桌面组
net localgroup #查看组列表
net localgroup 组名 #查看该组的成员
net localgroup 组名 /add #创建一个新的组
net localgroup 组名 用户名 /add #添加用户到组
net localgroup 组名 用户名 /del #从组中踢出用户
net localgroup 组名 /del #删除组
#注意:组名的单词数大于1时,记得用双引号(""),否则会报错,单引号('')不行!
Windows远程管理有2种类型:
拓扑图:
#步骤:
1.首先将配置网络,并实现客户机与服务器可以互通
2.服务器开启允许被远程控制:桌面右键属性--远程设置--确定
3.客户机上:开始--运行DOS命令窗口--输入'(mstsc)'--打开远程连接工具
4.在mstsc工具上输入服务器的IP并点击确定
5.输入服务器的账号及密码
#注意:如果用非管理员账户登录远程,需要在服务器上将用户加入到远程桌面内置组 Remote Desktop Users 中。如下图所示
#步骤:
1.客户机上:开始--运行DOS命令窗口--输入'(services.msc)'--打开服务管理窗口--找到并打开telnet服务
2.服务很多,如何快速找到:先随便点一个服务,在按所要找的首字母
3.打开服务后,就可在命令窗口使用命令:telnet 远程对象IP
1.在未登录系统时,连续按5次shift键,弹出程序:c:\windows\system32\sethc.exe
2.部分win7及win10系统在未进入系统时,可以通过系统修复漏洞纂改系统文件名
#注:如win7或win10系统已修补漏洞,则无法利用
1.cmd工具路径
c:\windows\system32\cmd
2.用户/账户密码存储位置
c:\windows\system32\config\SAM #非逆转型加密,使用hash值类似的方法,MDS、SHA
3.修改账户密码:
net users 用户名 新密码
案例:破解win7系统密码
实验步骤:
1.开启win7虚拟机,开机,并设置一个复杂密码;
2.关机,并开机,在出现windows启动界面时强制关机 #这步关键
3.再开机,出现'启动修复'及选择该项; #若没有出现,多次执行第2步,如还不行,用其他方法
4.出现系统还原提示,点击取消,等待几分钟,会出现问题原因,'点击查看详细信息'
5.打开最后一个链接即一个记事本
6.记事本中点 打开,并选择显示所有文件
7.找到sethc并改名(任意名),再找到cmd,复制一份cmd,改名为sethc'(一字不差)'
8.全部关机,重启
9.系统启动完毕后,连续按shift键,会弹出cmd工具,使用命令'net user 用户名 新密码',将当前用户密码修改掉即可,或者另外建立一个用户,并提升为管理员,注销后,可再删除新建的用户,这样的好处为不修改当前用户的密码即可登录系统
PE系统,独立于键盘系统的微型系统,通过PE系统启动可以对系统的SAM文件做修改
下载U深度增强版软件即可,详细操作在下载页面可查询
#原理:让电脑打开的是U盘中的PE操作系统,而不是电脑中的操作系统
1.第一步:
关机,然后插上U盘(已装有U深度增强版)
2.第二步:
开机,并且疯狂不停的按F2(有些是F1+F2)
3.以下操作用图表示
文件系统即在外部存储设备上组织文件的方法。**说人话:**存储文件的方式叫做文件系统
常用的文件系统:
提高磁盘读写性能
可靠性
加密文件系统
访问控制列表(设置权限)(ACL,access control list)
磁盘利用率
压缩
磁盘配额
支持单个文件大于4个G
作用:取消后,可以任意修改权限列表
方法:文件夹右键属性–安全–高级–去掉第一个对号–选择复制即可
| 文件权限 | 权限内容 |
|---|---|
| 完全控制 | 拥有读取、写入、修改、删除文件、及特殊的权限 |
| 修改 | 拥有读取、写入、修改、删除文件的权限 |
| 读取和执行 | 拥有读取、及执行文件的权限 |
| 写入 | 拥有修改文件内容的权限 |
| 特殊权限 | 控制文件权限列表的权限 |
| 文件夹 | 权限内容 |
|---|---|
| 完全控制 | 拥有对文件及文件夹读取、写入、修改、删除文件、及特殊的权限 |
| 修改 | 拥有对文件及文件夹读取、写入、修改、删除文件的权限 |
| 读取和执行 | 拥有对文件夹中的文件下载、读取、及执行的权限 |
| 列出文件夹内容 | 可以列出文件夹的内容 |
| 读取 | 拥有对文件夹中的文件下载、读取的权限 |
| 写入 | 拥有在文件夹中创建新的文件的权限 |
| 特殊权限 | 控制文件权限列表的权限 |
#案例:
建立jimi文件夹,并设置NTFS权限,要求a用户只能读取文件夹中的文件,不能再jimi文件夹中创建新的文件,b用户只能在jimi夹中创建新的文件,不能读取文件
当用户同时属于多个组时,权限是累加的
#案例:
用户a同时属于IT组与HR组,IT组对jimi文件夹可以读取,HR组可以对jimi文件夹写入,则a用户最终的权限为读取和写入
默认只有administrator有这个权限!
作用:可以将任何文件夹的所有者改为administrator
#案例:
用户a已离职,但xxx文件夹的属主是a,由于a用户对xxx文件夹做过权限修改,导致其他用户对xxx文件夹没有任何权限,现需要管理员administrator用户将xxx文件重新修改权限
通过网络提供文件共享服务,提供文件下载和上传服务(类似于FTP服务器)
方法:文件夹右键属性--共享--开启共享--设备共享名(也可不改)--设置共享权限
#注意:
1.在本地登录时,只受NTFS权限的影响
2.在远程登录时,将受共享及NTFS权限的共同影响,且取交集!
3.所以建议设置共享权限为everyone完全控制,然后具体的权限需求在NTFS权限中设置即可
格式:
1.在开始运行/或我的电脑地址栏中,输入UNC地址:
2.\\文件共享服务器IP
3.\\文件共享服务器IP\共享名
#判断题:
服务器上有某文件夹: d:\feifei
服务器IP: 10.1.1.1
共享名: f
以下哪种方式可以正常访问该共享?
\\10.1.1.1\d\feifei
\\10.1.1.1\feifei
\\10.1.1.1\d\f
\\10.1.1.1\f #正确
**方法:**共享名$
\服务器IP\共享名$
net share #列出共享列表
net share 共享名 /del #删除共享,但对于c,d盘删除后,重启又会出现,只能用下述8.7的屏蔽方法
#第一步:打开注册表
打开注册表编辑器:regedit
#第二部:定位共享注册表位置
HKEY_Local_MACHINE\SystemlCurrentControlSetlServices\LanmanServerlParametersl
在空白处右键新建REG_DWORD类型的AutoShareServer键,值为О
netstat -an
可以通过关闭445端口来屏蔽病毒传入(如勒索病毒等)
方法1:打开services.msc ,并停止及禁用server服务
方法2:禁止访问445,配置高级安全防火墙-入站规则(在win7及以上系统,win2008及以上系统)
也称为DHCP的租约过程,分为4个步骤:
客户机发送 DHCP Discover 广播包
客户机广播请求IP地址(包含客户机的MAC地址)
服务器响应 DHCP Offer 广播包 (先到先得的原则)
服务器响应提供的IP地址(但没有提供子网掩码、网关等参数)
客户机发送 DHCP Request 广播包
客户机选择IP(也可认为确认使用哪个IP)
服务器发送 DHCP ACK 广播包
服务器确定了租约,并提供网卡详细参数IP、掩码、网关、DNS、租期等
当租期过了50%过后,客户机会再次发送DHCP Request 包,进行续约,如服务器无响应,则继续使用并在87.5%再次发送 DHCP Request 包,进行续约,如仍然无响应,则会释放IP地址,并及时重新发送 DHCP Discover 广播包来获取IP地址。
当没有任何服务器响应时,自己电脑的网卡会自动给自己分配一个IP地址:169.254.x.x/16 (x:表示随机的数字。该地址是全球统一无效的IP地址,不能上网,但能在局域网内进行通信)
部署DHCP服务器的步骤:
1.ipconfig /release 释放IP (取消租约,或者改为手动配置IP,也可以释放租约)
2.ipconfig /renew 重新获取IP (有IP时,发送request包进行续约;无IP时发送discover包重新获取)
地址保留
针对指定的MAC地址,固定动态分配IP地址
选项优先级
作用域选项>服务器选项
当服务器上有多个作用域时,可以在服务器选项上设置DNS服务器
DHCP备份
备份服务器的所有作用域,当服务器死机后,可以使用备份文件在其他DHCP服务器上进行还原所有配置
练习
攻击DHCP服务器:频繁的发送伪装DHCP请求,直到将DHCP地址池资源耗尽
防御:在交换机(管理型,傻瓜型不行)的端口上做动态MAC地址绑定
伪装DHCP服务器攻击客户机:hackr通过将自己部署为DHCP服务器,为客户机提供非法ip地址
防御:在交换机(管理型),除合法的DHCP服务器所在接口外,全部设置为禁止发送 DHCP offer 包
英文全称:DOmain Name Service,中文:域名服务
**作用:**为客户机提供域名解析服务器
域名组成概述
如:"www.sina.com.cn"是一个域名,从严格意义上将,"sina.com.cn"才被称为域名(全球唯一),而"www"是主机名。
"主机名.域名"称为:完全限定域名(FQDN),一个域名下可以有多个主机,但域名全球唯一,那么"主机名.域名"肯定也是全球唯一的
以"sina.com.cn"域名为例,一般管理员在命名以主机的时候会根据器主机的功能而命名,比如:网站的是:www;博客的是:blog;论坛的是:bbs;那么对应的FQDN为www.sina.com.cn,blog.sina.com.cn,bbs.sina.com.cn.这么多个FQDN,然而我们只需要申请一个域名即可"sina.com.cn"即可。
域名组成
树形结构图:
根域: . (一个点)
顶级域:
国家顶级域:cn、jp、hk、uk
商业顶级域:com:商业机构;gov:政府机构;mil:军事机构;edu:教育机构; org:民间组织架构;net:互联网
一级域名:
二级域名:
。。。
#案例
如:www.baidu.com. #(com后面的'.' ,我们一般没打,是因为网页会自动给我们添上 )
. 为根域
.com 为顶级域
baidu 为一级域名
www 为主机名
TCP 53
UDP 53
按照查询方式分类:
DNS域名解析的过程:
按照查询内容分类:
**
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同