网络安全基础

如何将两个电脑连起来

通过网线,网卡

复制代码
网线不够长,数据丢失

中继器

复制代码
能够对信息进行中继,实现设备的放大,集线器,多口中继器,能够对信息进行中继和放大,会往其他所有接口泛洪,无法对终端主机进行隔离多个主机处于同一个**冲突域**中,采用集线器的网络,带宽利用率较低。

网桥

复制代码
链路层产品,能够记录终端至极mac地址能够进行冲突域隔离,提高网络带宽利用率,不同接口之间数据不会互相冲突,
接口有限,默认是两个接口,

交换机

复制代码
①交换机(Switch)是一种链路层产品,能够记录终端主机的MAC地址并生成MAC表(也称为CAM表),MAC表相当于"地图",交换机根据MAC表转发主机之间的数据流。
②交换机是在网桥的基础上进行延伸和升级,相比网桥,主要有几个优势:接口数量更加密集(每个主机在独立的冲突域,带宽利用率大大提高)采用专用ASIC硬件芯片进行高速转发能够进行VLAN隔离(不仅仅可以隔离冲突域,而且通过VLAN隔离广播域)
③交换机是一种局域网产品(历史上有很多局域网技术,目前是以太网技术称霸),一般用于本地网络,无法实现远程广域网通信。

路由器

复制代码
采用路由表实现数据转发
路由器主要用于连接不同局域网(可以是不同介质,如令牌网和以太网可以互通),实现广播域隔离,也可以用于远程通信(广域网连接)
跨介质跨地理的网络大融合成为现实
IP协议等逻辑寻址机制是实现不同类型局域网连通的关键
路由器在实现局域网之间通信时,会进行"介质翻转"和"路由转发"

无线AC/AP

复制代码
无线AP(Access point)可以看成带有无线功能的交换机/路由器,随着无线城市、移动办公趋势,网络中无线产品的比例越来越多
胖AP,瘦AP,小型的无线网络(家用、小型企业)用胖AP即可解决,大型无线网络(无线城市、无线校园网)则需要用瘦AP方案)(AC+AP)来解决

防火墙

复制代码
防火墙(Firewall)是一种网络安全产品,用于对网络进行安全访问限制,一般用在互联网边缘,防止外部黑客攻击。
根据防火墙的技术特征,可以分为包过滤、应用代理、状态检测防火墙;根据产品形态,可以分为软件和硬件防火墙。
可以看到例如路由协议、访问控制列表、地址翻转技术
是否有了防火墙,就可以不用路由器了呢?网络边界的路由器是可以直接代替为防火墙,但是防火墙和路由器可以在网络里面同时存在,例如将防火墙放在路由器之前或者之后都可以,这样的话,路由器侧重地址翻转和路由策略,防火墙侧重安全隔离等功能。

流控

复制代码
网络中的流控(流量控制)产品主要分为上网行为管理、负载均衡器/应用交付、链路优化等
行为管理产品主要针对流量进行精细化区分控制;负载均衡/应用交付侧重流量的负载均衡(根据流量的特征、应用、地址等进行区分,然后分发到不同的链路和服务器上);链路优化主要应用在广域网等低速链路边界,最大化利用链路

家庭网络

小型创业公司网络

园区网

政务网

数据中心

电信网

TCP/IP协议

概述

复制代码
现在电脑都是安装TCP/IP栈通信

协议栈

复制代码
OSI模型是一个理论框架,而TCP/IP协议栈是一个事实标准。
应用层:为用户提供软件接口,协议,HHTP,HTTPS,BT/P2P/QICQ
传输层,作用,用于实现数据可靠传输和不可靠传输,协议,TCP/UDP
网络层,提供IP地址和三层通信(路由器)功能,IP协议
链路层,提供MAC地址和二层通信(交换机)功能。Ethernet

封装和解封装

复制代码
数据封装是一个为数据包加入寻地址信息的过程
端口号用于标志不同的应用程序,面向最终用户
ip地址用于标志通信设备,面向路由器
mac地址用于标志唯一的局域网设备面向交换机

Etherpnet协议

复制代码
以太网协议,用于实现链路层的数据传输和地址封装
三个协议字段
复制代码
Destination 目的字段,表示通信方的mac地址
souce源字段,标识发送端的mac地址
type,类型值,标志上层的协议
mac地址(网卡)
复制代码
mac地址唯一的
mac16进制的
前半段是OUI代码,表示厂商,思科华为三星。。。

IP协议

复制代码
1.任何能联网的设备都有唯一IP地址
2.IP可以被追踪
原理
复制代码
通过IP协议栈实现网络通信,面向无连接和不可靠的传输功能
通信过程
	①PC1在请求数据包里面封装源目IP地址,并将带有IP地址的数据包发送到互联网;
    ②互联网有大量的网络通信设备(例如路由器),路由器根据数据包的IP地址查找路由表(地图),然后以接力棒的	方式逐跳转发直到目标服务器;
    ③服务器收到请求数据后,将源目IP地址翻转,并封装回应数据包发送到互联网。

模拟快递员收寄件

快递收寄件:

①寄快递的时候,需要先写快递单,快递单要求写入寄件方和收件方的姓名和联系信息 (电话号码、地址),写完之后,再将快递单贴在包裹上面

②物流公司(或快递员)根据包裹的寄件地址,通过物流平台(飞机、长途货车、卡车)将包裹在省市中传输,直到收件方的城市。

③收快递的时候,快递员根据包裹收件地址,找到对应的街道或小区,然后通过电话联系并交付到我们手里。

总结:快递单相当于IP地址、快递包裹相当于数据包,物流公司/快递员相当于路由器/交换机

实践内容

复制代码
打开wireshark软件实现抓包
命令:ping 8.8.8.8
抓包
ip协议字段解读
复制代码
【IP协议字段解读】
Version(版本号):标识IP协议的版本,目前V4版本地址已经枯竭,V6慢慢成为主流。
Header Length(头部长度):默认为20字节,最大为60字节。
Differentiated Services Field (服务区分符):用于为不同的IP数据包定义不同的服务质量,一般应用在QoS技术中。
Total Length (总长度):标识IP头部加上上层数据的数据包大小,IP包总长度最大为65535个字节。
Identification (标识符):用来实现IP分片的重组,标识分片属于哪个进程,不同进程通过不同ID区分。
Flags(标志符):用来确认是否还有IP分片或是否能执行分片。
Fragment offset (分片偏移量):用于标识IP分片的位置,实现IP分片的重组。
Time to live (生存时间):标识IP数据包还能生存多久,根据操作系统不同,TTL默认值不同,每经过一个三层设备如路由器的处理,则TTL减去1,当TTL=0时,则此数据包被丢弃。
Protocol (协议号):标识IP协议上层应用。当上层协议为ICMP时,协议号为1,TCP协议号为6,UDP的协议号为17。
Header checksum (头部校验):用于检验IP数据包是否完整或被修改,若校验失败则丢弃数据包。
Source(源IP地址):标识发送者IP地址,占用32bit。
Destination (目的IP地址):标识接收者IP地址,占用32bit。

我们可以看到IP头部默认有12个字段(后续会提到特殊字段),为了方便记忆,可以总结为7个核心知识点:
a.Source和Destination即IP源目地址字段,是IP协议最核心的字段;
b.Id+Flags+FO三个字段可以实现IP数据分片和重组;
c.Total Length和Header Length标记IP头部和上层数据的边界;
d.TTL生存时间字段可以实现通信防环;
e.DSCP服务区分符可以实现流量控制;
f.Checksum字段可以数据包完整性校验;
g.Protocol字段标记上层应用;
源目IP字段上面已经讲过,下面我们来对其他字段进行解读=>
TTL生存字段解读
复制代码
TTL(Time to live)即生存时间,用于标识IP数据包"还能存活多久",这个生存值在发送方发送数据时便设置好了。不同电脑/操作系统的初始TTL是不同的,例如上图,便是我的Mac电脑发出的,默认值是64,其他一些系统是128或255。由于TTL值占用8个bit位,所以最大值是255(二进制11111111)。IP数据包每经过一个路由器或三层设备,TTL便会被减去1,而当TTL=0的时候,则代表此数据包"死亡",此时路由器便会向源发送者返回一个"TTL Exceed"的ICMP报错包。上图中,如果我的电脑到目标服务器超过了64跳,则这个数据包会中途被丢弃,无法到达目标地。
TTL值除了标识IP数据包的生存值之外,另外一个特别重要的功能便是"防止数据包环路",简称为"防环"。很多时候,由于工程师的疏忽,或者网络拓扑结构的复杂性,会出现一些有bug的网络环境,例如=>
复制代码
上面便是一个经典的"环路拓扑",当电脑将数据包发送到互联网时,由于网络设备之间存在环路(Loop),所以数据包一直在里面绕起来,而不是发送到最右边的服务器。如果没有TTL,则这个数据包会一直存在于链路中,这样不仅占用网络带宽,并且浪费设备的处理器资源。若有大量的数据包存在网络中,则会拖垮其他人的正常通信。
DSCP字段解读
复制代码
DSCP(Differentiated Services Field) 即服务区分符,用于为不同的IP数据包定义不同的服务质量。DSCP的前身叫做TOS(Type of Service,服务类型)。不管是TOS还是DSCP,它们都是QoS服务质量里面的技术实现。
说白了就是给VIP提供专线服务,没开通就没有这个服务
Checksum字段
复制代码
用于校验数据的完整性
不同协议采取方法不同,IP协议中checksum只校验IP头部,没有数据部分
TCP/UDP校验头部和数据部分,校验没问题收并处理,有问题就丢弃
Protocol字段解读
复制代码
无论是IT协议的Protocol字段,还是Ethernet以太网协议里面的Type字段,又或者是TCP/UDP协议里面的Port字段,这些字段的功能都是用于标识上层协议或应用。例如,ICMP协议号为1,TCP协议号为6,UDP的协议号为17

对于很多初学者来而,虽然知道了哪些协议号对应哪些上层应用,毕竟只要背熟了就好,但是我们还需要更深入的思考?例如,在IP协议里面加入协议号标识传输层协议,意义何在?

复制代码
通过上面这张图我们可以看到,若PC1 PING PC2,则此时会采用ICMP协议,而ICMP协议对应的协议号是1。当PC2收到这个数据包时,拆开IP头部,则会看到协议号,根据协议号调用对应的上层协议或应用来进行上层数据处理。以这里例子来看,若PC2采用TCP或UDP来解开ICMP数据包,则无法正常解析,好比用word程序要打开一部mp4电影,肯定会有故障。而如果这里PC2根据协议号为1,调用ICMP协议来处理ICMP数据包,则可以正常解读并返回回应包。
所以,协议号(Protocol)、端口号(Port)、类型值(Type)这些的功能都是:标记上层协议/应用,告诉接收方,有正确的协议/应用来打开这个数据,功能相当于电脑文件的后缀名,告诉电脑用哪些应用程序来打开对应的文件。
ICMP协议
复制代码
互联网信息控制协议,Internet Control Message Protocol
用于实现链路连通性测试和链路追踪,可以实现链路差错报告。
ICMP运行在传输层协议,服务于IP协议。
ICMP工具(基于ICMP协议开发的软件)
①Ping
②Traceroute/Tracert 

2、PING:探测目的主机是否有问题,探测本地到目的的延迟等
Echo request 回显请求
Echo reply 回显应答
UDP协议
复制代码
用户数据报协议,user datagram protocol 用于实现面向无连接不可靠协议
2.特征:
数据包结构非常简洁
处理速度快
实时交互

源端口:发送者端口
目标端口:目标服务器端口
数据包长度
校验

扩展
源端口属于随机高端口
1-1023是知名端口号,已经被占用

DNS协议(域名解析协议)

总结一点就是IP地址是面向主机的,而域名则是面向用户的

复制代码
一个组织的系统管理机构, 维护系统内的每个主机的IP和主机名的对应关系
如果新计算机接入网络,将这个信息注册到数据库中
用户输入域名的时候,会自动查询DNS服务器,由DNS服务器检索数据库,得到对应的IP地址 
我们可以通过命令查看自己的hosts文件: 
域名解析过程
复制代码
域名解析总体可分为一下过程: 
(1) 输入域名后, 先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据. 
(2) 如果没有, 就向上级域名服务器进行查找, 依次类推 
(3) 最多回溯到根域名服务器, 肯定能找到这个域名的IP地址 
(4) 域名服务器自身也会进行一些缓存, 把曾经访问过的域名和对应的IP地址缓存起来, 可以加速查找过程 
具体可描述如下: 
1. 主机先向本地域名服务器进行递归查询 
2. 本地域名服务器采用迭代查询,向一个根域名服务器进行查询 
3. 根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP地址 
4. 本地域名服务器向顶级域名服务器进行查询 
5. 顶级域名服务器告诉本地域名服务器,下一步查询权限服务器的IP地址 
6. 本地域名服务器向权限服务器进行查询 
7. 权限服务器告诉本地域名服务器所查询的主机的IP地址 
8. 本地域名服务器最后把查询结果告诉主机 

DHCP协议

复制代码
动态主机配置协议,简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。
原理
小结

DHCP报文种类

重点

发现包

提供包

请求包

回复包

TCP协议

功能
复制代码
面向连接(三次握手,四次挥手)
可靠传输(经典重传,超时重传,快速重传/选择性重传)
流量控制(滑动窗口,拥塞管理)
多路复用(套接字)
wireshark 过滤语法
复制代码
tcp.flags.syn == 1
tcp.flags.fin == 1
tcp.flags.ack == 1

可靠传输 SEQ序列号 ,ACK确认号,重传机制

流量控制

多路复用

一台机器上的应用可以有很多。但是实际的出口设备,比如说网卡、网线通常只有一份。因此这里需要用到一个叫作多路复用(Multiplex)的技术。多路复用,就是多个信号,复用一个信道。

tcp通过端口号(port)/套接(ip+port)实现多路复用

五元组

源目IP+源目Port+协议号 = 五元组

相关推荐
利刃大大1 小时前
【网络编程】九、详解 HTTPS 加密原理
网络·网络协议·https
搬码临时工2 小时前
动态域名服务ddns怎么设置?如何使用路由器动态域名解析让外网访问内网?
服务器·网络·tcp/ip·智能路由器·访问公司内网
wudinaniya2 小时前
笔记本电脑打开网页很慢,一查ip地址网段不对怎么处理
网络·网络协议·tcp/ip·电脑
天翼云开发者社区3 小时前
办公网络流量隔离:为高效办公保驾护航
网络·安全
和计算机搏斗的每一天3 小时前
ip命令详解
服务器·网络·tcp/ip
XY.散人3 小时前
初识Linux · IP分片
网络·网络协议·tcp/ip
zhong_kh4 小时前
联邦+反射器 基础实验
网络
xjdksxkmd4 小时前
5.11作业
运维·服务器·网络
神经毒素4 小时前
WEB安全--Java安全--LazyMap_CC1利用链
java·开发语言·网络·安全·web安全
NetTech.Top4 小时前
什么是路由器环回接口?
智能路由器