信息安全之网络安全防护

先来看看计算机网络通信面临的威胁:

  • 截获——从网络上窃听他人的通信内容
  • 中断——有意中断他人在网络上的通信
  • 篡改——故意篡改网络上传送的报文
  • 伪造——伪造信息在网络上传送

截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击

网络基础知识

 

IOS网络七层模型

从下到上:
物理层:传输的是比特流,网卡位于这层。
数据链路层:本层传输的是帧;本层主要定义了如何格式化数据,错误检测。交换机位于本层
网络层:本层传输的是数据包,路由器位于本层。本层协议是IP协议(Internet Protocol Address),主要功能是路由选择最短路径,将数据包从发送端路由到接收端
传输层:协议有TCP(传输控制协议)/UDP(用户数据报协议);主要是控制重传、数据分割之类的,主要是解决数据之间的传输,和传输质量。是IOS最核心的一层,其中TCP协议是最重要的协议
会话层:不同机器之间建立会话
表示层:解决不同系统之间的语法问题
应用层:应用网络中发送数据:需要注意Http协议(超文本传输协议),Https(超文本传输安全协议)

TCP/IP四层模型
与IOS七层模型相同,从下往上依次为:链路层(物理层+数据链路层),网络层(IP),传输层(TCP),应用层(应用层+表示层+会话层)(HTTP)。

TCP/IP 、 HTML、端口、URL、、、

网络安全威胁

社会工程、嗅探、钓鱼、拒绝服务、远程控制、

网络安全防护

虚拟专用网络、防火墙

无线局域网防护 

无线局域网概述、安全管理

案例

查看端口信息:netstat -ano

 查看指定端口信息:netstat -aon|findstr "80"(注意是英文双引号。)

 嗅探攻击

基于ARP欺骗的嗅探技术)

ARP:Address Resolution Protocol 地址解析协议。

ARP:Address Resolution Protocol 地址解析协议。

RARP:Reverse Address Resolution Protocol 逆向地址解析协议。

  不同的网络,如以太网,令牌网...,在数据链路层都有不同的寻址机制。

  在以太网的局域网中,一台主机和另外一台主机通信发包,是根据48bit的以太网地址来确定目的接口的,设备驱动程序从不检查IP数据报中的目的IP地址。

  地址解析协议(ARP)为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层48bit地址的转换。RFC 826[Plummer1982]是ARP规范描述文档。

  ARP为IP地址到对应的硬件地址之间提供动态映射。RARP是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或X终端),它需要系统管理员进行手工设置。

  ARP通信过程解析:

  (1).比如在一个局域网上,一台主机A(192.168.0.12)要访问机器B(192.168.0.11)。他会发送一份称作ARP请求的以太网数据帧给以太网上的每个主机(广播包)。ARP请求数据帧中包含目的主机的IP地址,意思就是:“如果你是这个IP地址的拥有者,请回答你的硬件地址。”

  (2).目的主机收到这份广播报文后,识别出这是发送端在寻问它的IP地址,于是发送一个ARP应答。这个ARP应答包含IP地址及对应的硬件地址。(非广播)

  (3).收到ARP应答后,系统的ARP缓存便会记录MAC-IP的对应信息(ARP攻击点),在CMD里打arp -a便可查询现在机器的ARP缓存情况。现在IP数据报现在就可以传送了。

  在ARP背后有一个基本概念,那就是网络接口有一个硬件地址(一个48bit的值,标识不同的以太网或令牌环网络接口)。在硬件层次上进行的数据帧交换必须有正确的接口地址。但是,TCP/IP有自己的地址:32 bit的IP地址。知道主机的IP地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。ARP的功能是在32bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。

  值得注意:arp协议是不可靠和无连接的,通常即使主机没有发出arp请求,也会接受发给它的 arp回应,并将回应的mac和ip对应关系放入自己的arp缓存中。此外,内核为2.4.x的linux系统在arp实现中,考虑到了arp欺骗,不会接受未经请求的arp回应,因此直接向这种系统发送arp reply也是无效的,不过,有意思的是虽然它不会接受未经请求的arp reply,但是只要接收到arp的request,它就会更新自己的arp缓存。

ARP协议

 ARP协议

自从交换机成为架设局域网的主流设备后,ARP攻击有了新的用途:用ARP欺骗辅助嗅探!原理很简单,先看看下面两幅图:

  

  左图是正常通信时,两台机器数据流向。右图是B被A机器ARP欺骗后,两台机器的数据流向,着重看右图,B被ARP欺骗后,数据的流向改变了,数据先是发给了A,然后再由A转发给网关;而从网关接收数据时,网关直接把发给B的数据转发给了A,再由A转发给B,而A的自己的数据流向是正常的。现在B的数据全部要流经A,如果A要监听B是易于反掌的事情了。

  再简单说说这个ARP欺骗的过程吧,也就是怎么实现改变B的数据流向:

  1).现在架设A的IP地址是192.168.1.11,MAC地址是:11-11-11-11-11-11;B的IP地址是192.168.1.77,MAC地址是77-77-77-77-77-77;网关IP地址是192.168.1.1,MAC地址是:01-01-01-01-01-01。

  2).A发送ARP欺骗包(ARP应答包)给B,告诉B:我(A)是网关,你把访问外网的数据发给我(A)吧!ARP欺骗包如下:

  SrcIP: 192.168.1.1 ,SrcMAC:11-11-11-11-11-11

  DstIP: 192.168.1.77 ,DstMAC:77-77-77-77-77-77

  3).A发送ARP欺骗包(ARP应答包)给网关,告诉网关:我(A)是机器B,结果网关把所有给B的数据都发到A那里了。ARP欺骗包如下:

  SrcIP: 192.168.1. 77,SrcMAC:11-11-11-11-11-11

  DstIP: 192.168.1. 1,DstMAC:01-01-01-01-01-01

  4).机器A有一个辅助用的转发软件,它负责把“网关->B”和“B->网关”的数据包转发。

至此,ARP欺骗的辅助任务完成了,接下来就是用你的嗅探器进行偷窥了

  这里有几点值得注意一下的:

  1).ARP欺骗包每隔一段时间要发一次,否则网关和B的ARP缓存会更新!

  2).ARP欺骗完成后,网关的ARP记录会有两记录的MAC地址是相同的,分别是:192.168.1.11(11-11-11-11-11-11)和192.168.1.77(11-11-11-11-11-11),这样可能会比较明显,嗯~可以把A自己在网关的ARP缓存改了:192.168.1.11(01-10-01-10-01-10,乱写一个),但这样会有两个问题:一个是这个MAC是乱写的,局域网内根本没有这个MAC地址的机器,根据交换机的工作原理,网关发给192.168.1.11这IP的机器的数据将会被广播。第二个是,此刻你(A)的正常与外界通信的能力将会丧失。可以权衡考虑一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/498117.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解高压电阻器的世界,探索其操作、类型和在各种高压应用中的关键作用

高压电阻器是高压条件下的专用元件,对于管理电压和散热至关重要 它们的工作原理是欧姆定律 类型包括线绕电阻、碳复合电阻、金属氧化物膜电阻、厚膜电阻和薄膜电阻这些电阻器在电力系统、医疗设备、汽车电子和电信设备中是必不可少的。 额定电压从600V到48KV 80p…

fastadmin学习04-一键crud

FastAdmin 默认内置一个 test 表,可根据表字段名、字段类型和字段注释通过一键 CRUD 自动生成。 create table fa_test (id int unsigned auto_increment comment ID primary key,user_id int(10) default 0 null…

基础算法-去重字符串,辗转相除法,非递归前序遍历二叉树题型分析

目录 不同子串 辗转相除法-求最大公约数 二叉树非递归前序遍历 不同子串 从a开始,截取 a aa aaa aaab 从第二个下标开始a aa aab 从第三个 a ab 从第四个 b 使用set的唯一性,然后暴力遍历来去去重,从第一个下标开始截取aaab a aa aaa aaab…

代码随想录算法训练营第36天|738.单调递增的数字|968.监控二叉树|总结

代码随想录算法训练营第36天|738.单调递增的数字|968.监控二叉树|总结 738.单调递增的数字 https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html class Solution { public:int monotoneIncreasingDigits(int n) {string s…

R语言批量计算t检验,输出pvalue和均值

1.输入数据如下&#xff1a; 2.代码如下 setwd("E:/R/Rscripts/rG4相关绘图") # 读取CSV文件 data <- read.csv("box-cds-ABD-不同类型rg4-2.csv", stringsAsFactors FALSE)# 筛选出Type2列为指定五种类型的数据 filtered_data <- subset(data, …

【分类评估指标,精确率,召回率,】from sklearn.metrics import classification_report

from&#xff1a; https://zhuanlan.zhihu.com/p/368196647 多分类 from sklearn.metrics import classification_report y_true [0, 1, 2, 2, 2] y_pred [0, 0, 2, 2, 1] target_names [class 0, class 1, class 2] # print(classification_report(y_true, y_pred, targe…

学浪m3u8视频解密

学浪视频在网页上并不是mp4&#xff0c;而是以m3u8进行传输&#xff0c;使用m3u8可以有效解决服务器的压力&#xff0c;而且不仅仅是m3u8&#xff0c;还加密了key&#xff0c;需要逆向key算法得到真实key 下面是学浪m3u8视频解密的工具&#xff0c;全程自动化&#xff0c;不需…

MobileSAM 项目排坑

MobileSAM 项目排坑 任务过程记录创建环境交互式测试notebookV2测试 任务 把MobileSAM这个项目跑通&#xff0c;明天就可以集中学习SAM、MobileSAM、EfficientSAM和Segformer的论文和代码了。 过程记录 创建环境 老样子&#xff1a; git clone https://github.com/Chaonin…

《系统架构设计师教程(第2版)》第8章-系统质量属性与架构评估-01-软件系统质量属性

文章目录 1. 质量属性概念1.1 软件系统质量1.2 软件质量属性概述1.3 各生命周期的质量属性1.2.1 开发期质量属性1.2.2 运行期质量属性 2. 面向架构评估的质量属性2.1 性能(Performance)2.2 可靠性 (Reliability)2.2.1 容错2.2.2 健壮性 2.3 可用性 (Availability)2.4 安全性 (S…

macOS Sonoma如何查看隐藏文件

在使用Git进行项目版本控制时&#xff0c;我们可能会遇到一些隐藏文件&#xff0c;比如.gitkeep文件。它通常出现在Git项目的子目录中&#xff0c;主要作用是确保空目录也可以被跟踪。 终端命令 在尝试查看.gitkeep文件时&#xff0c;使用Terminal命令来显示隐藏文件 default…

c(RGDfK)-Biotin,生物素Biotin标记细胞穿膜环肽c(RGDfk)

c(RGDfK)-Biotin&#xff0c;生物素Biotin标记细胞穿膜环肽c&#xff08;RGDfk&#xff09; 中文名称 &#xff1a;生物素Biotin标记c&#xff08;RGDfk&#xff09;环肽 英 文 名 &#xff1a;c(RGDfK)-Biotin 品 牌 &#xff1a;Tanshtech 单字母&#xff1…

Autodesk Maya 2025---智能建模与动画创新,重塑创意工作流程

Autodesk Maya 2025是一款顶尖的三维动画软件&#xff0c;广泛应用于影视广告、角色动画、电影特技等领域。新版本在功能上进行了全面升级&#xff0c;新增了对Apple芯片的支持&#xff0c;建模、绑定和角色动画等方面的功能也更加出色。 在功能特色方面&#xff0c;Maya 2025…

基于 RisingWave 和 ScyllaDB 构建事件驱动应用

概览 在构建事件驱动应用时&#xff0c;人们面临着两大挑战&#xff1a;1&#xff09;低延迟处理大量数据&#xff1b;2&#xff09;实现流数据的实时摄取和转换。 结合 RisingWave 的流处理功能和 ScyllaDB 的高性能 NoSQL 数据库&#xff0c;可为构建事件驱动应用和数据管道…

蓝桥杯 2022 省A 选数异或

一种比较无脑暴力点的方法&#xff0c;时间复杂度是(nm)。 (注意的优先级比^高&#xff0c;记得加括号(a[i]^a[j])x&#xff09; #include <iostream> #include <vector> #include <bits/stdc.h> // 包含一些 C 标准库中未包含的特定实现的函数的头文件 usi…

【ROS 笔记1】Topic message通俗理解

前言: topic 能够将所有的独立的模块, 进行有序的交流,链接。 可以想象, roscore, 假设是一个铁路系统的总的开关,当打开总的开关(run roscore), 铁路路就可以畅通起来, 铁路畅通后, 如何进行北京站(机器人recognition)与上海站(机器人抓取)的交流。 那么我们可以从…

Linux基础篇:解析Linux命令执行的基本原理

Linux 命令是一组可在 Linux 操作系统中使用的指令&#xff0c;用于执行特定的任务&#xff0c;例如管理文件和目录、安装和配置软件、网络管理等。这些命令通常在终端或控制台中输入&#xff0c;并以文本形式显示输出结果。 Linux 命令通常以一个或多个单词的简短缩写或单词…

C语言例4-36:求Fibonacci数列的前40个数

教材优化代码如下&#xff1a; //求Fibonacci数列的前40个数 #include<stdio.h> int main(void) {long int f11,f21;int i1;for(;i<20;i){printf("%15ld%15ld",f1,f2);if(i%20)printf("\n");f1f2;f2f1;}return 0; } 结果如下&#xff1a; 我的基…

最小可行架构实践:创建家庭保险聊天机器人——可持续架构(四)

前言 即使像聊天机器人这样的简单应用也需要一个最小可行产品&#xff08;MVP&#xff09;和最小可行架构&#xff08;MVA&#xff09;&#xff0c;因为正确开发聊天机器人应用并不容易&#xff0c;而开发失败可能会极大地影响客户满意度。MVP是产品开发策略的一个有用组成部分…

Adobe最近推出了Firefly AI的结构参考以及面向品牌的GenStudio

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

代码随想录Day22:二叉树Part8

Leetcode 235. 二叉搜索树最近公共祖先 讲解前&#xff1a; 这道题其实可以用完全一样的code和普通二叉树的公共祖先一样&#xff0c;得到答案&#xff0c;但是那样就完全没有用到BST的特性&#xff0c;我这里的解法其实也不知道是不是用到了BST的特性&#xff0c;我这里觉得…