信息安全之网络安全防护

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

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

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

网络基础知识

 

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)的正常与外界通信的能力将会丧失。可以权衡考虑一下。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用Python和IP技术实现智能旅游情报系统

文章目录 引言一、系统架构设计1. 数据采集模块2. 数据处理模块3. 用户界面模块 二、数据获取技术应用三、系统功能展示四、亮数据采集工具介绍五、总结六、号外 引言 随着旅游行业的不断发展,人们对旅游信息的需求也越来越大。为了帮助旅行者更好地规划行程&#…

智慧酒店(二):AI智能分析网关V4视频分析技术在酒店管理中的应用

一、人工智能技术如何应用在酒店管理中? 随着科技的飞速发展,人工智能技术已经逐渐渗透到我们生活的方方面面,其中,酒店管理行业便是其应用的重要领域之一。人工智能技术以其高效、精准的特点,为酒店管理带来了革命性…

前端超分辨率技术应用:图像质量提升与场景实践探索-设计篇

超分辨率! 引言 在数字化时代,图像质量对于用户体验的重要性不言而喻。随着显示技术的飞速发展,尤其是移动终端视网膜屏幕的广泛应用,用户对高分辨率、高质量图像的需求日益增长。然而,受限于网络流量、存储空间和图像…

【报错解决】RuntimeError: CUDA error: out of memory(已解决)

【报错解决】RuntimeError: CUDA error: out of memory(已解决) 【先赞后看养成习惯】求关注点赞收藏 问题描述:在运行python代码中,遇到如下报错 return t.to(device, dtype if t.is_floating_point() or t.is_complex() else N…

153 Linux C++ 通讯架构实战8 ,日志打印实战,设置时区,main函数中顺序调整

日志打印实战 //日志的重要性:供日后运行维护人员去查看、定位和解决问题; //新文件:ngx_printf.cxx以及ngx_log.cxx。 //ngx_printf.cxx:放和打印格式相关的函数; //ngx_log.cxx:放和日志相关…

面向对象-接口

面向对象-接口 1. 接口的概念 ​ 接口就是规范\规则,我们可以使用接口来定义一些规则(比如要求某个方法的方法名必须叫什么,方法的参数列表必须是什么,方法的返回值类型必须是什么) ​ 现实生活中的规范 2. 接口的…

Jenkins拉取github项目相关问题

1.私有仓库问题 1.1如果你的仓库是私有的,21年起github就不支持账号密码的方式拉取代码了 那么就需要在github上面创建一个token (classic) 然后在Jenkins代码设置那里 然后应该就可以顺利打包了。 2.找不到pom(多了一层文件夹)问题 解…

【Flink】Flink 处理函数之基本处理函数(一)

1. 处理函数介绍 流处理API,无论是基本的转换、聚合、还是复杂的窗口操作,都是基于DataStream进行转换的,所以统称为DataStreamAPI,这是Flink编程的核心。 但其实Flink为了更强大的表现力和易用性,Flink本身提供了多…

UE4_Mouse_Interaction——拖拽物体的实现

鼠标拖拽物体,效果如下图: 1、新建PlayerController,更名字为MI_PlayerController,双击打开并设置参数: 2、新建GameMode,更名为MI_Gameinfo。参数如下设置: 3、新建材质,更名为BasicAsset02.参…

matplotlib 绘图

matplotlib 绘图 方便设置legend图例的位置 ax1.legend(loc‘upper center’, bbox_to_anchor(0.3, -0.1)) ax2.legend(loc‘upper center’, bbox_to_anchor(0.6, -0.1)) import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm from scipy.inter…

【SpringCloud】Ribbon负载均衡

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 🛸学无止境,不骄不躁,知行合一 文章目录 …

3-zookeeper之ZAB协议

Zookeeper ZAB协议 概述 ZAB(Zookeeper Automic Broadcast)是一套专门为Zookeeper设计的用于进行原子广播和崩溃恢复的协议ZAB协议主要包含了两个功能 原子广播:保证数据一致性崩溃恢复:保证集群的高可用 ZAB协议本身是基于2PC算法来进行的设计&#…