网络学习
计算机网络的发展
- 60年代
- 分组交换技术
- 70-80年代
- TCP/IP(众多协议里的一部分)
- 90年代
- Web技术
网络协议与标准
-
协议
-
标准
-
ISO(国际标准化组织)
-
ANSI(美国国家标准局)
-
ITU-T(国际电信联盟-电信标准部)
-
IEEE(电气和电子工程师学会)
-
802.3(有线标准)
-
802.11(无线标准)
802.11a 802.11b 802.11g 802.11n 802.11ac 54Mbps 11Mbps 54Mbps 108Mbps 600Mbps
-
-
分层思想
分层设计的意义
- 降低设计的复杂性
- 防止对某一层所做的改动影响到其它层,这样有利于开发
OSI协议模型
从下到上是由低层到高层,第二例是PDU(协议数据单元)
从上往下走叫封装,反之解封装
-
OSI 7层模型
-
应用层 :用户接口
-
表示层 :数据的表现形式,特定功能的实现-加密
-
传话层 :对应用会话的管理,同步
-
传输层 :数据段:可靠与不可靠的传输,传输前的错误检测,流控
-
网络层 :数据包:提供逻辑地址,选路
-
数据链路层 : 数据帧:成帧,用Mac地址访问媒介,错误检测与修正
-
物理层 : 比特流:设备之问的比特流传输,物理接口,电气特性
-
TCP/IP 4层模型
-
应用层
-
传输层 :数据段
-
网络层 :数据包
-
物理层 : 比特流
-
TCP/IP 5层模型
-
应用层
-
传输层 :数据段
-
网络层 :数据包
-
数据链路层 : 数据帧
-
物理层 : 比特流
物理层
-
物理层(physical layer)
-
网线/双绞线
- cat5
- cat5e
- cat6
- cat7
-
网线类型
- 交叉线:一端为A,另一端为B线序
- 直通线:两端线序是一样的
- 全反线:也称console线
-
网线类型的选择
- 同种设备使用交叉线
- 交换机与非交换机设备间使用直通线
- 注:PC与路由器及以上的设备视为同种设备
-
光纤
- 单模光纤
- 多模光纤
-
数据链路层
-
数据链路层(Data Link Layer)
-
一般为2层
-
工作在交换机
-
帧结构
MAC子层:14 IP包头 TCP/UDP头部 应用层数据 FCS:4 -
MAC子层
目标MAC地址:6 源MAC地址:6 类型:2 - 类型
- 作用是用来区分上层协议
- 0x0800:IP协议
- 0x0806: ARP协议
- 类型
-
帧尾(FCS)
- 固定4个字节
- 帧校验序列
- 使用CRC算法对整个数据帧进行计算得出的值,类型与hash
-
帧的MTU值在中国是1500字节
-
-
交换机的工作原理
- 学习
- 广播
- 转发
- 更新
-
虚拟局域网VLAN
- 引入
- 随着局域网规模的壮大,广播量也激增,必须控制,使用路由器可以隔离广播域,性于物理隔离,不灵活,成本高,所以引入vlan技术来隔离
- 作用
- 隔离广播域,控制广播的
- 更方便管理,灵活性高
- 安全性高
- 分类
- 静态vlan(基于端口划分的vlan)
- 动态vlan(基于MAC划分的vlan)(一般没有启用)
- 配置
- vlan 10,12,15-30(创建vlan)
- name 名字(给vlan起个名字)
- exit(退出vlan接口)
- switchport access vlan 10(将端口加入vlan10)
- show vlan brief(查看vlan表)
- vlan 10,12,15-30(创建vlan)
- 引入
-
TRUNK链路技术(trunk中继)
- 作用:trunk实现了跨交换机同一vlan通信
- 在交换机互联的链路上
- trunk链路:不属于任何vlan,允许所有的vlan通过
- 通过标识来区分不同的vlan
- ISL标识:cisck私有的,不是公开的
- 802.1q标记:公有标识
- 配置
- switchport trunk encapsulation isl/dot1q(可选的,设置标识)
- switchport mode trunk(设置接口模式为trunk)
- switchport mode access(设置接口模式为access接入链路,恢复正常,属于某一个vlan)
-
VTP(vlan trunk protocol)
- 作用:通过在一台交换机上配置可以更新所有交换机上vlan的添加,删除,重命名的工作
- 工作条件:所有交换机必须在同一个vtp域,交换机之间必须配置为trunk链路
- vtp更新是通过发送vtp通通告来实现的
- vtp修订号
- vtp角色
- vtpclient:可以学习及转发相同域名的vtp通告,但不能做任何修改
- vtpserver:可以转发相同域名的vtp通告,并且能修改
- 配置
- conf t
- vtp damain 名称
- vtp mode client/server
- show vtp status
- conf t
-
VLSM(可变长子网掩码)
- ip分为5类
-
单臂路由
-
conf t
-
int 子接口(总接口.1的书写形式写子接口)
-
encapsulation dot1q 10(给子接口配置成vlan10的网关)
-
ip add ip 子网掩码
-
no shutdown
-
ip helper address DHCP服务器IP(配置dhcp中继)
-
-
int 总接口
- no shutdown
-
-
三层交换机
- 三层交换机 = 二层交换机 + 三层路由器
- conf t
- ip routing(开启三层路由功能)
- int 接口
- ip add ip 子网掩码
- no shutdown
- 交换机配置(思科产品)
- 用户模式(可以查看基本装箱单信息)
- ctrl+shift+6(搞错命令)
- 特权模式(可以查看所有配置,且不能修改配置)
- enable(进入特权模式)
- show mac-address-table(查看mac地址表)(想要在其它模式下去查看在前面加一个do就可以了)
- show running-config (查看所有的配置,想要在其它模式下查看在前面加上do)(内存里)
- copy running-config startup-config(保存配置文件)(内存加载到–>硬盘上)
- write(这条命令等同于上面这条)
- erase startup-config(清除配置)
- 全局模式(默认不能查看,但是可以修改)
- configure terminal(进入全局模式)
- hostname 加交换机名(修改交换机名)
- no ip domain-lookup(关闭不必要的信息)
- enable password 加密码(这个密码是用来进入特权密码的)
- enable secret 加密码(设置特权密码,加密存储密码)
- service password-encryption (这条命令可以让这台交换机的所有密码都加密存储,但是可以解开)
- ip domain-name 域名(给主机设置域名)
- crypto key generate rsa (创建公钥和私钥)
- username 用户名 password 密码(创建本地用户并设置密码)
- ip default-getway 网关(为交换机配置网关)
- interface vlan1
- ip address ip 子网掩码(在二层的虚拟vlan接口配置IP地址)
- line vty 0 15 (进入虚拟终端0,最多可以16个人同时连接 )
- transport input telnet (开启telnet)
- password 加密码 (设置密码)
- transport input ssh(开启ssh协议)
- login local (使用本地账号数据库用户连接 )
- 接口模式(默认不能查看,可以修改配置,且对该端口生效)
- interface 加接口(进入接口模式)
- show ip interface brief(查看当前接口配置)
- shutdown (关闭当前接口,开启的话前面加no即可)
- console口/线/控制台模式(默认不能查看配置)
- line console 0 (进入console口)
- password 加密码(设置密码)
- login(开启身份验证)
-
网络层
-
网络层(Network Layer)
-
常见协议:ICMP、IP、ARP
-
IP协议分析:分析IP包头(3层的包头)(包头长度是20-60个字节)
IP版本 首部长度 服务质量QOS 总长 度 标识符 标志(0xx) 段偏移量 TTL值 协议号(6tcp,17udp) 首部校验和 源IP 目录IP 可选项 -
IP版本
- IPV4
- IPV6
-
首部长度:IP包头的长度(20-60)
-
总长度:IP包总长度,报文总长度
-
标识符:用来区分不同的IP分片数据流
-
标志
- 第一位保留,
- 第二位为一代表未分配,为0代表已分配
- 第三位为0 代表最后一个分片,为1代表还有后续分片
-
段偏移量:用来确定IP分片在IP包中的位置/先后顺序
-
TTL:用来防止IP包在网络上无限循环
-
协议号
- 用来区分上层协议
- 6代表TCP
- 17代表UDP
- 1代表ICMP
- 用来区分上层协议
-
-
ARP协议(Address Resolution Protocol)
- 地址解析协议在三层
- 作用:已知IP地址,获取MAC地址
- ARP报文
- 我的IP是XXX,我的MAC是XXX。你的IP是XXX,你的MAC是多少?注:三层及上的设备才会有MAC地址的
- ARP原理
- 发送ARP广播报文
-
ICMP
-
icmp协议是网络层
-
作用:网络探测,网络侦测,网络追踪等功能
-
icmp报文封装:
帧头:14 IP包头:20 icmp头:8 icmp数据:32 帧尾:4 -
icmp数据:数据
-
icmp头:固定长度4个字节,重要字段:类型字段
- 类型字段:
- 8代表ping请求
- 0代表ping正常应答
- 3代表目录不可达
- 11代表TTL超时
- 检验和:
- 代码字段:一般尾0
- 类型字段:
-
-
ACL(Access Control List)访问控制列表
- acl是一种过滤技术
- acl是基于三层IP地址,四层端口对包进行过滤,
- acl类型
- 标准acl
- 作用:只能基于源IP地址对包进行过滤
- 表号:1~99、1300-1999
- 扩展acl
- 作用:基于源IP,目录IP,目标端口号,协议等对包进行过滤
- 表号:100-199、2000-2699
- 标准acl
- acl编写及应用原理
- acl必须应用到接口的某个方向才能生效,实现包过滤
- 一个接口的一个方向只能应用一张表(可以写多个条目)
- 任何一张acl表中,最后都有一条含有拒绝的条目
- acl表在匹配数据包时,是严格自上而下匹配每一个条目
- 标准acl尽量写在靠近目标的位置
- 小贴士
- 首先判断写acl的位置及应用接口(依据先判断需要的源和目标,然后就确定了控制方向 )
- 开始编写acl:建议从下往上写,先判断应该是允许所有还是拒绝所有
- 默认情况下,一张标准或扩展acl一亘写成,将不能删除某一条,也不能插入某一条,只能住后追加新条目,如果需要修改,删除整张 acl表,重新写
- 命令
- conf t
- access-list 表号 permit/deny 源IP 反掩码
- 反掩码作用:用来匹配的
- 0代表严格匹配
- 1代表不需要匹配
- 反掩码作用:用来匹配的
- acc 1 deny IP 反掩码
- ip access-group 表号 in/out(将表应用到接口上)
-
路由器(思科)
- 工作在三层
- 路由器主要工作就是路由(原理)
- 当一个帧进入路由器接口后,首先检测帧头的目录MAC地址是否是当前接口的MAC,如不是则丢弃,如是则解封装帧头和帧尾,并发送到路由内部
- 路由器开始将IP包头中的目标IP地址匹配路由表,如匹配成功则丢弃并道歉(返回报错信息),如匹配成功,则路由到出口接口
- 如果在出接口上配置了NAT,则进行地址转换,如果没有配置NAT,则检测arp缓存表,并找到下一跳的MAC地址,如表中没有,则发送ARP报文获取下一跳MAC地址
- 重新封装帧,其中出口接口的MAC作为源MAC,下一跳的作为目标MAC
- 发出去
- 路由表的形成
- 直连路由:接口IP配置并开启,自动形成
- C:直连路由:管理距离值默认为0,注:除了0都可以改
- 非直连路由:需要手工配置静态路由或配置动态路由
- S:静态路由:管理距离默认人1
- ip route 目标网段 子网掩码 下一跳IP一直
- S*:默认路由:管理距离值默认为1无穷大
- ip route 0.0.0.0 0.0.0.0 下一跳IP地址
- S:静态路由:管理距离默认人1
- 浮动路由
- 作用主要来做备份路由的
- 路由器在匹配路由条目时,是按照路由条目的优先级先后进行匹配的,路由条目的优先级与管理距离值A成反比
- 优先级:路由器在匹配路由表时,按照优先级对每个条目先后匹配,当同时匹配成功的路由条目优先级一致,使用最长子网掩码匹配原则
- 直连路由:接口IP配置并开启,自动形成
- 配置(基础配置和交换机差不多)
- 用户模式
- 特权模式
- show ip route (查看路由表)
- 全局模式
- access-list 1 permit IP 反掩码(配置内部地址池)
- ip nat instide source list 1 interface 接口 overload(配置PAT映射)
- ip nat inside source static tcp 源IP 源端口 要发布IP 要发布端口(静态端口映射)
- 接口模式
- ip nat inside (指定内网端口)
- ip nat outside(指定外网端口)
- console口
- 配置DHCP
- ip dhcp pool 名字(创建dhcp)
- ipdhcp excluded-address 192.168.1.1 192.168.1.20 (排队不能分配的IP)
- network 192.168.1.0 255.255.255.0 (ip段)
- default-router 192.168.1.254 (网关)
- dns-server 202.106.0.20 (ip)
- exit
-
网络相关的攻击
-
DHCPserver冒充
-
DHCPserverDos攻击
-
用户随意指定地址,造成冲突
-
配置
- conf t
- ip dhcp snooping (开启dhcp嗅探)
- ip dhcp snooping vlan 1,2,3… (建立snooping数据库)
- ip dhcp snooping verify mac-address (嗅探dhcpdiscovery包中的MAC地址,防御地址池被爆满)
- ip dhcp snooping binding MAC vlan 1 IP interface 加接口(把某台硬件和接口绑定)
- interface 接口
- ip dhcp snooping trust/untrust(防止非法DHCP服务器接入)
- ip dhcp snooping limit rate 10(一个人每分钟只能发送10个discovery包)
- ip verify source vlan dhcp-snooping (ip source gurad)(帧里源IP比对)
- conf t
-
ARP攻击防御
-
conf t
- ip dhcp snooping
- ip dhcp snooping vlan 1
- ip dhcp snooping trust
- arp-check
- ip arp inspection vlan 1
- ip arp inspection trust
- ip arp inspection limit rate 10
-
interface 加接口(同上)
-
ip dhcp snooping trust
-
ip arp inspection trust
-
ip arp inspection limit rate 10
-
-
-
MAC地址表/CAM攻击
- interface 接口
- switchport port-security
- switchport port-wecurity maximum n (接口可以有几个MAC地址)
- switchport port-security mac-address MAC地址/sticky(接口绑定MAC地址)
- switchport port-security violation protect/shutdown(开启或关闭接口保护)
- interface 接口
-
NAT(Network Address Translations)
-
作用:网络地址转换
-
为什么要使用NAT
-
IPV4地址严重不够用了
-
IP地址进行了分类
-
私有地址:
- 10
- 172.16~172.31
- 192.168
-
公有地址:
-
1~126
-
128~191
-
192~223
-
224~239
-
240~254
-
-
-
公司总出口需要通过NAT对私网和公网地址的相互转换
-
-
分类(nat地址转换表)
- 静态NAT(工程师一条一条配置的S)
- 动态NAT(系统自动生成NAT地址转换表)
- 内部地址池
- 外部地址池
- NAT地址转换表
- 动态NAT映射
- 内部地址与外部地址池之间和映射(端口0~65535)
- 动态NAT映射
- PAT(Port Address Translation)
- 内部地址池
- 外部地址池
- NAT地址转换表
- 动太PAT映射
- 内部地址与外部地址池之间和映射
- 注:因为加上了端口映射所以地址池里IP可以重复使用
- 它在动态NAT的基础上加了一个端口映射
- 内部地址与外部地址池之间和映射
- 动太PAT映射
- 静态PAT
- 用于发布网站
- 动态PAT
- 用于员工上网的
-
NAT转换时(NAT是在路由和外网端口做的)
- 内到外:转换源IP地址(源转换)
- 先做路由–>再做NAT
- 外到内:转换目标IP地址(目标转换)
- 先做NAT–>再做路由
- 内到外:转换源IP地址(源转换)
-
-
-