网络安全-网络安全基础

一、 网络安全概述

TCP/IP协议定义了一个对等的开放性网络,使得连接到这个网络中的所有用户都可能面临来自网络中的恶意的破坏和攻击。这些攻击通过网络通信协议、网络应用协议甚至物理传输链路来实现。主要针对于软件和硬件进行攻击。那在互联网上如何保证自己的安全呢?

二、 TCP/IP 协议技术

了解网络中的基础模型。为更简单有效的了解网络,我们将网络分层进行详细的解读。目前广为人知的网络模型为OSI模型和TCP/IP模型。这两个模型的提出大大降低了网络学习和分析的难度。

1. OSI 模型

OSI(Open System Interconnect Reference Model),开放式互联参考模型。1984年,由ISO发布了著名的ISO/IEC 7498标准,定义了网络互联的7层框架。

OSI模型设计的目的是成为一个所有的销售商都能实现的开放网络模型,来克服使用众多私有网络模型所带来的困难和低效性。他是网络技术的基础。

1.1 OSI 模型的优点

l 提供设备间的兼容性和标准接口,使各个厂商能够设计除互操作的网络设备,促进标准化工作,加快数据通信网络发展。

l 采用分层体系结构,各层可以独立修改或扩容,分层设计有助于将问题化繁为简,由助于学习、理解和分析网络结构

1.2 OSI 七层模型

1.3 数据的封装和解封装

封装

是指网络节点要将传送的数据用特定协议头打包来传送数据,同时在某些层进行数据处理时,也会在数据尾部加上报文

解封装

和封装相反

OSI 七层模型中每一层都会对数据进行封装,以保证数据能够正确无误的到达目的地,被终端接收和执行

网络数据处理的流程:

2 TCP/IP 模型

2.1 TCP/IP 模型协议各层作用

TCP/IP 协议每一层都有对应的相关协议,且均为达成某一网络功能而设计

2.2 应用层协议

HTTP(超文本传输协议):用于访问WWW服务器的各种网页

FTP(文件传输协议):用于文件接收和发送

DNS(域名服务系统):实现主机域名和IP的转换

2.3 传输层协议

TCP(传输控制协议):为应用程序提供可靠的面向连接的服务

UDP(用户数据协议):不可靠,属于无连接通信,可靠性由应用层负责

2.4 网络层协议

IP(互联网协议):IP和路由协议协同工作,寻找能够将数据包传送的最短路径,提供无连接,不可靠的服务

ARP(地址解析协议):把已知的IP地址解析为MAC地址

ICMP(网际控制消息协议):定义网络层控制和传递消息的功能

IGMP(网际组管理协议):用于组播成员管理

2.5 网络接入层协议

逻辑链路控制子层(LLC)

介质访问控制子层(MAC)

2.6 套接字

套接字(Socket)是支持TCP/IP的网络通信的基本操作单元,是通信双方的一种约定,用套接字中的相关函数来完成通信过程,一个套接字由相关的五元组构成

通信过程中使用源套接字来表示TCP/IP会话的源端点,用目的套接字来表示目的端点。

三、 TCP/IP 协议安全

1. IPv4 安全隐患

IPv4设计之初,首先应用于研究环境,针对少量的、可信的用户群体。没有考虑网络安全的因素。随着TCP/IP的广泛应用,很多安全风险的问题逐渐显现。

  • 不提供认证服务
  • 明文传输,不提供数据保密性服务
  • 不提供数据完整性保护
  • 不提供抗抵赖服务

2. TCP/IP 协议栈常见的威胁

物理层:

物理破坏,线路侦听

数据链路层:

MAC地址欺骗,MAC地址泛洪,ARP欺骗等

网络层:

IP地址欺骗,Smurf攻击,ICMP泛洪攻击,地址扫描等

传输层:

TCP欺骗,DOS,DDOS,端口扫描攻击

应用层:

漏洞,缓冲区溢出攻击,病毒,web攻击,木马等

相关推荐
2401_857439692 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna2 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_2 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
Dream_Snowar3 小时前
速通Python 第三节
开发语言·python
高山我梦口香糖4 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
独行soc5 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
信号处理学渣5 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客5 小时前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
jasmine s5 小时前
Pandas
开发语言·python