本周重点
①windows的常用命令
②二进制转换
③IP地址划分
④网络知识概要
⑤基础的Python代码使用
本周主要内容
DAY1 虚拟机和windows安装
①安装虚拟机
VM17(win10,winserer2016,kali)
②基本法律法规
中华人民共和国网络安全法滚动新闻中国政府网 (www.gov.cn)
DAY2 windows常用命令
①什么是操作系统CSAPP
整合硬件
编辑
给用户使用
编辑
②*使用操作系统提供好的“接口”(常用命令)
cd进入目录
1.D:\> cd abc #进入d盘abc文件夹 2.cd.. #回退 3.D:\> cd abc(相对路径) D:\> cd d:\abc(绝对路径) 4.cd /d #切换硬盘 cd /? #遇事不决打问号,帮助文档 CHDIR [/D] [drive:][path]#符号“[]”代表可选项,既非必填。
dir 展示当前文件夹内容
dir #查看文件夹文件 dir /a:h #查看隐藏文件
md 创建目录
md abc #创建abc文件夹 md a b c#创建批量文件夹
rd 删除目录
rd abc #s删除abc文件夹 rd /s #删除非空文件夹 rd /q/s #安静删除 copy 复制文件
copy [源] [目的]
copy 1.txt+2.txt #文件合并 copy /b #字节流(合并中文可用) copy a.jpg+1.txt #可以把1的文字复制进图片里,用txt打开可看
xcopy 复制目录
xcopy [源] [目的] #不复制空目录 xcopy /e [源] [目的] #复制空目录
move 移动
move [源][目的]#相对 绝对路径都可以
del 删除
del [文件名] del [文件1] [文件2] [文件3] #批量删除
rename 重命名
rename [源文件名称] [修改后的文件名称]
③*文件操作
echo #显示文本
tpye[文件] #显示文件文本
findstr 查找文件
findstr [字符] [文件名] findstr "^s" [文件名]#每一行里以s开头的 findstr "s$" [文件名]#每一行里以s结尾的
④*管道
可以理解成过滤器
dir | findstr "文件名" #找某个文件夹下面的文件 ipconfig /all | findstr "^以太网" | findstr "." #查找以以太网开头的,并且是没有换行的 dir | findstr "2023/11/11" #查找f盘下面2023年11月11日创建的文件
⑤*重定向
#重定向是把标准输出(一个文件)输出的内容重新输出到另一个指定的文件,所以叫重定向 # > 是覆盖 # >> 是追加 findstr /v "^以太网" | findstr "." > log.txt # 2> 错误覆盖 # 2>> 错误追加 asdasdds 2> log.txt asdasdsa 2>> log.txt # 正确和错误一起追加的方式 dir >> log.txt 2>&1
另加
/i :不区分大小写 /v : 非 "." :去掉换行 “^xx”:以xx开头 "xx$":以xx结尾
⑥逻辑(布尔运算)
与,或,非
A=1 and B=1
!(A and B) = !A or !B !(A or B) = !A and !B if not (A or B): 你的逻辑
DAY3 windos用户组权限
①什么是用户和组
windows里面有默认的3个组:
管理员 > Users > Guest创建一个新用户,默认归属的组是Users
查看用户
net user
创建用户
net user [用户名 [密码|*]] /add net user xiaoming p-0p-0p-0 /add net user xiaoming * /add
删除用户
net user [用户名] /del
创建组
net localgroup [组名] /add
查看组
net localgroup [组名]
在组里面添加成员
net localgroup [组名] [组员1] [组员2] /add
界面操作都是【计算机管理】里面,通过【徽标键】键搜索。
②安全和策略
通过【win+R】进入【secpol.msc】,更改密码策略
账户策略-密码策略
密码长度 最长使用期限 强制密码历史
账户策略-账户锁定策略
阈值冻结时间
本地策略-审核策略
搜索【事件查看器】 —> 【windows日志】 —>【安全】
安全日志
③权限
FAT32:一般用于U盘,单个文件的大小不能超过4G。
NTFS:ACL(access control list,访问控制列表),没有大小限制。
文件权限
登录后的用户,属于authenticated Users组。 组发生冲突:如果一个用户同属于两个组,比如说A组和B组,A = {1, 2, 3}, B = {3, 4} , 那么该用户所有的权限事 A u B = {1, 2, 3, 4} 拒绝和允许发生冲突:拒绝高于一切。 用户和组发生冲突:取用户和组的并集。
文件夹权限
文件夹比文件多一个【列出文件内容】的权限。
高级权限
可以设置【对权限列表查看的权限】
④Windows注册表
⑤*二进制转换
十进制转二进制
方法1:
除余,倒序取余数 8/2 --> (4,0) 4/2 --> (2,0) 2/2 --> (1,0) 1/2 --> (0,1) 倒序后就是1000
方法2(可以先不用掌握):
计算65 1024 512 256 128 64 32 16 8 4 2 1 0 0 0 0 1 0 0 0 0 0 165 = 1000001
二进制转十进制
1011 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 8 + 0 + 2 + 1 = 11 #任何数的0次方都等于1 101 = 1*2^2 + 0*2^1 + 1*2^0 = 4 + 0 + 1 = 5
DAY4 进制转换和网络
①用Python代码完成累加计算
累计-版本1
dec2bin(num): sum = 0 while num > 0: sum = sum + num num = num - 1 print(sum)
累计-版本2
def dec2bin(num, term): sum = 0 while num > 0: sum = sum + term(num) num = num - 1 print(sum)
累计-版本3
def dec2bin(num, term, comb, identity): sum = identity while num > 0: sum = comb(sum, term(num)) num = num - 1 print(sum)dec2bin(num, lambda x:x*x, lambda x,y: x+y, 0)
②通信基本设备(网络)
两台电脑
通过网线直接连接。
多台电脑
同轴电缆,特点:半双工,终结电阻
1. 容易冲突2. 不安全3. 可用性低
集线器HUB
可以解决【可用性低】的问题。
但是集线器是个弱智,没有记忆功能,每次去ping 192.168.10.4这个地址都会先发一次ARP广播报文,会导致性能降低。
交换机
交换机是有记忆的,可以提高性能,发送ARP之后会记录【端口】和【IP地址的关系】。
如果全世界都用交换机连接
会出现的问题
1. ARP报文会很多;2. IP地址不够用。
ipv4的地址:192.168.10.1 (0-255)
8位.8位.8位.8位 = 32位
2^32
所以需要路由器:
1. 划分不同的局域网2. 结合NAT节省IP地址。
③*IP地址划分
IP地址 = 网络部分+主机部分;
假设,前24位为网络部分:
192.168.10.100 网络部分:192.168.10.0/24 主机部分:100 192.168.10.1 192.168.10.2 192.168.10.3 192.168.10.4 也就是可以分配2^8个主机,256(0-255). 如果超过255个人,网络地址就不够用了,主机部分借一位: 192 = 11000000 168 = 10101000 10 = 00001010 11000000.10101000.00001010.[略] = 192.168.10.0/24 11000000.10101000.00001010.[略] = 192.168.10.0/23 11000000.10101000.00001010.00000001 = 192.168.10.1/23 11000000.10101000.00001011.00000001 = 192.168.11.1/23
如何指定网络部分
子网掩码是用来指定网络部分的。
IP = 11000000.10101000.00001010.00000001 = 192.168.10.1 MASK = 11111111.11111111.11111111.00000000 11000000.10101000.00001010.00000001& 11111111.11111111.11111111.00000000 ------------------------------------------ 11000000.10101000.00001010.00000000 网段=11000000.10101000.00001010.00000000 = 192.168.10.0/24 11000000.10101000.00001010.00000001& 11111111.11111111.11111110.00000000 ------------------------------------------ 11000000.10101000.00001010.00000000 = 192.168.10.0/23
教室的IP地址(子网合并)
杨:192.168.200.169 李:192.168.201.104 子网掩码:255.255.254.0 = 11111111.11111111.11111110.00000000 11000000.10101000.11001000.10101001 11111111.11111111.11111110.00000000 ------------------------------------------ 11000000.10101000.11001000.00000000 11000000.10101000.11001001.10101001 11111111.11111111.11111110.00000000 ------------------------------------------ 11000000.10101000.11001000.00000000 11000000.10101000.11001000.00000000 == 11000000.10101000.11001000.00000000?? 是相等,所以杨和李是在同一个网段。
划分部门(子网拆分):
子网掩码=255.255.255.0 公司里面有200个人,公司有两个部门,部门A有100个人,部门B有100个人,对两个公司划分独立的网段。 目前公司的网段是192.168.100.0 (0-255)0-127给部门A。128-255给部门B。 子网掩码=11111111 11111111 11111111 00000000
部门A = 11000000 10101000 01100100 00000000 = 192.168.10.0/25
部门B = 11000000 10101000 01100100 10000000 = 192.168.10.128/25
DAY5 网络知识概要
①用Python代码完成十进制转换二进制
十进制转二进制,三个版本;
arr= [0,1,0,0,1] def bin2dec1(arr): i = len(arr) - 1 sum = 0 while i >= 0: sum = sum + arr[i]*(2**i) i = i - 1 print(sum) arr=[0,0,0,1] def bin2dec2(arr, comb): i = len(arr) - 1 sum = 0 while i >= 0: sum = sum + comb(arr[i],(2**i)) i = i - 1 print(sum) arr=[0,0,0,1] def bin2dec(arr,aa,bb,cc): length = len(arr)- 1 i = length sum =cc while i >=0: sum= bb(sum,aa(arr[i],i)) i=i-1 print(sum) bin2dec(arr,lambda x,y:x*(2**y),lambda x,y:x+y,0) #替换arr数组的方式 arr= [0,0,0,1] #替换代码 str_s = "1000" arr = [int(x) for x in reversed(str_s)]
同网段比较 (不准确的)
def is_same_net(ip1,ip2,mask): if (ip1&mask) == (ip2&mask): print("同网段") else: print("不同网段") is_same_net(192168100001,192168100127,255255255128)
②*网络知识概要
端口和接口的区别
端口:Port 接口:Interface 两台电脑之间不同服务的通信是靠【端口】区分的。 交换机和路由器的物理口可以使用【接口】或者【端口】。 写程序用到的叫【接口】(用到了再去了解)。
路由器
作用:划分不同的网络;
重点:路由选择;
MAC表,ARP表,路由表。
网络模型
为了方便的沟通。
背景
需要有一个统一的标准,否则各个厂商的计算机的设备没有办法正常的通信(语言,语速,断句,声音)。
需要分层,各个层擅长的领域都不一样,方便定位问题,解耦。
OSI
open system interconnect,开放系统互联,一般是叫OSI参考模型(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),一共是7层。
应用层:把应用数据转换成二进制; 表示层:数据进行编码,加密,压缩(格式处理) 会话层:维持会话 传输层:保证数据的可靠传输(可靠,不可靠);使用端口号 网络层:逻辑寻址(通过IP地址),不同网络间的数据传输 数据链路层:负责mac地址匹配 物理层:负责把数字信号转换成模拟(光,电)信号。
TCP/IP协议
OSI模型在进行设计时,花费大量时间,且又作为开放式的参考模型,还未来得急实现,落实具体设计,出现了TCP/IP网络模型,在OSI基础上,做了简化,直接从实际实现着手,故TCP/IP成为了实际投入应用的网络模型。
TCP/IP:更精简,更容易实现。
封包和解包
发送的时候封包;接收的时候拆包。
数据发送的过程
ARP是负责找【局域网】内的MAC地址; ARP找到后,发送真实的数据,真实数据在网络层的IP地址永远是最终的目的。
③ENSP设置基本网络结构代码
R1设置 system-view display interface brief interface GigabitEthernet0/0/0 ip address 192.168.30.1 24 system-view display interface brief interface GigabitEthernet0/0/1 ip address 192.168.10.254 24 system-view display interface brief interface GigabitEthernet0/0/2 ip address 192.168.100.254 24 ip route-static 192.168.33.0 24 192.168.30.2 R2设置 system-view display interface brief interface GigabitEthernet0/0/0 ip address 192.168.30.2 24 system-view display interface brief interface GigabitEthernet0/0/1 ip address 192.168.33.254 24 ip route-static 192.168.10.0 24 192.168.30.1 ip route-static 192.168.100.0 24 192.168.30.1 DHCP设置 dhcp enable ip pool qq network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.254 dns-list 192.168.10.254 8.8.8.8 interface GigabitEthernet0/0/1 dhcp select global display ip interface brief 查看接口ip地址 display interface brief 查看接口的简要信息 display current-configuration 显示当前配置文件 display current-configuration 关键词(查看关键词的配置) display saved-configuration 显示保存的配置文件 display ip routing-table 查看路由表 display ospf peer 查看ospf邻居关系 display ospf lsdb 查看链路关系数据库 display clock 查看系统当前时间 display this 查看当前模式下的配置,比如在接口上敲这条命令就可以看到当前接口下的信息