【WSN无线传感器网络恶意节点】使用 MATLAB 进行无线传感器网络部署研究

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

在无线传感器网络部署方面,您计划在一个 100 * 100 平方米的区域内部署无线传感器网络。每个传感器节点(SN)的射程范围为 30 米。在这个区域内,您共有 29 个传感器节点,其中 5 个是恶意节点。正版节点用绿色圆圈表示,而恶意节点用红色圆圈表示。您的目标是利用这个网络进行多种研究问题的研究,包括路由、覆盖范围、安全性和本地化等方面。

为了开始研究,首先您需要考虑的是网络的部署方式。在一个 100 * 100 平方米的区域内,您可以根据需要放置这些传感器节点。这个过程需要考虑到节点之间的通信范围,确保节点之间具有良好的信号连接。可以使用节点的射程范围(30 米)来保证节点的相互覆盖,并形成一个有效的网络。

同时,考虑到有恶意节点的存在,您还需要设计一种安全性机制来保护整个网络免受潜在的攻击。这可以涉及到使用加密技术、身份验证或者一些入侵检测系统来检测和防止恶意节点对网络的破坏。

针对无线传感器网络中恶意节点的检测,国内外提出了许多不同的技术来减轻无线传感器网络中的攻击。这是通过检测算法来实现的,这些算法已经证明了它们实现目标的能力,但代价是高昂的。一般来说,任何提议的方法都应该是安全、低开销和高效的。

无线传感器网络(WSN)的主要任务是监视,感测和发送数据到通常是基站(BS)的集中服务的能力,然后以敏感数据的形式从集中服务向用户传播信息。遗憾的是,传感器节点通常部署在远程和恶劣环境中。在这样的环境中,攻击者可以容易的物理截获、伪造和篡改节点,使得篡改的节点通过发起各种安全攻击而最终扭曲网络操作。他们的路由协议也会导致攻击,因为在他们的设计中不考虑安全方面,这会为攻击造成另一个漏洞[1]。

此外,实施所有安全方法(包括为传感器的供电存储器和能量自供应)需要能量资源,无线传感器网络由于自身资源和计算能力的限制会导致不同的攻击。然而,目前这些资源在微小的无线传感器中非常有限,这对资源匮乏的安全机制提出了相当大的挑战[2]。在可能的攻击中,论文针对四种攻击,主要是 Sybil 攻击、Sinkhole 攻击、虫洞攻击和黑洞攻击。女巫攻击(Sybil Attack)是一种严重的攻击,其中受损节点发送虚假的身份或错误的位置信息,以便其余节点认为其附近存在许多节点,受损节点则利用被盗或伪造的身份和位置信息启动 Sybil 攻击。[3]在下沉洞攻击(Sinkhole Attact)中,恶意节点可以通过广播虚假路由信息来说服邻居来吸引数据流量。通过此过程,sinkhole 节点尝试将所有网络流量吸引到自身。此后,它会改变数据包或静默丢弃数据包,增加了网络开销,通过增加能量消耗来减少网络的生命周期,最终破坏了网络的正常运行。虫洞攻击(Wormhole Attack)是两个知道网络拓扑的恶意节点之间合作完成的,在此攻击中,两个恶意节点形成私有的通讯隧道并捕获流量。此外,在黑洞攻击(Blackhole Attack)中,节点将其自身通告为具有到目的节点的有效路由,即使该路由是虚假的。源节点忽略另一个节点来自其他节点的正常路由回复,并将其数据包发送给恶意节点,恶意节点丢弃数据包,有时将数据包发送到目的地。

📚2 运行结果

主函数代码:

% 100 * 100 m2 wireless sensor network deployment
% Density = 30 nodes: CH=1 and SN=29
% malicious nodes (mn) = 20% of 29 SN
% CH is genuine
clc;
clear; 
mn=5; % malicious node
sn=29; % sensor node
x=randi([0,100],1,sn); % x coordinate of a sn
y=randi([0,100],1,sn); % y coordinate of a sn
z=randi([0,sn],1,mn); % malicious nodes index values (as per percentage 20%)
plot(x,y,'mo',...
    'LineWidth',2,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[.17 0.66 .83],...
    'MarkerSize',10)
legend('SN')
for i=1:sn  
      draw_circle1(x(i),y(i),30,'g') 
end
for j=1:sn     
    for k=1:mn
    if z(k)==j
    draw_circle1(x(j),y(j),30,'r')
    end
    end 
end
grid on
figure(1) % Hold figure 1
hold on 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]郎健.无线传感器网络部署优化研究与仿真[D].北京工业大学[2023-08-21].DOI:CNKI:CDMD:2.1016.701540.

[2]井泉.基于LEACH的无线传感器网络路由协议的研究[D].东北大学,2012.DOI:10.7666/d.J0124954.

[3]胡宇.无线传感器网络中恶意节点的检测和安全路由技术[D].电子科技大学,2016.

[4]王乾.无线传感器网络恶意节点检测模型的研究[D].长春工业大学[2023-08-21].

🌈4 Matlab代码实现

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

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

相关文章

React 全栈体系(三)

第二章 React面向组件编程 四、组件三大核心属性3: refs与事件处理 1. 效果 需求: 自定义组件, 功能说明如下: 点击按钮, 提示第一个输入框中的值当第2个输入框失去焦点时, 提示这个输入框中的值 2. 理解 组件内的标签可以定义ref属性来标识自己 3. 编码 3.1 字符串形式…

Gradle 如何配置全局 mavenCentral()

我们都知道 Gradle 会使用 Maven 的中央仓库。 在 Gradle 的配置文件中,通常有一个 mavenCentral() 如果我们想把 mavenCentral() 的仓库地址全局替换掉别的仓库地址的话。 我们可以在 C:\Users\yhu\.gradle 目录下创建一个 init.gradle 文件。 文件中的代码为&a…

中国移动秋招攻略,网申测评和面试

中国移动秋招简介 按照往年的惯例来看,移动会在每年的8月份发布相关秋招信息,紧接着考生并进行网申,面试的时间跨度也非常的长,大概是9~12月份。整个招聘流程,包括投递简历网申,笔试测评,面试录…

在项目中快速搭建机器学习的流程

在软件开发领域,机器学习框架发挥着关键作用,为开发人员提供强大的人工智能工具、库和算法,以有效地利用机器学习的潜力。从本质上讲,机器学习使计算机能够从数据中学习并做出预测或决策,而无需明确编程。 机器学习框…

idea 对JavaScript进行debug调试

文章目录 1.新增 JavaScript Debug 配置2.配置访问地址3.访问url. 打断点测试 前言 : 工作中接手别人的前端代码没有注释,看浏览器的network或者console切来切去,很麻烦,可以试试idea自带的javscript debug功能。 1.新增 JavaScript Debug 配…

芯科科技推出专为Amazon Sidewalk优化的全新片上系统和开发工具,加速Sidewalk网络采用

芯科科技为Sidewalk开发提供专家级支持 中国,北京 - 2023年8月22日 – 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)今日在其一年一度的第四…

微信支付

文档地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter9_1 封装的工具类 package com.qf.fmall.utils;import cn.hutool.core.util.XmlUtil; import cn.hutool.http.HttpRequest; import org.apache.shiro.crypto.hash.Md5Hash;import java.util.…

情人节特别篇:用c++弹奏音乐“海阔天空”与“孤勇者”

W...Y的主页 💕 代码库分享 😊 目录 孤勇者 海阔天空 今天是2023年8月22日七夕情人节,但是对我来说就是再普通不过的日子。我相信有很多人期待这一天的到来,和自己的对象出去享受快乐时光。但是我只有一个人独孤的度过短暂的时…

freertos之任务调度算法

介绍 所谓调度算法,就是怎么确定哪个就绪态的任务可以切换为运行状态。 通过配置文件FreeRTOSConfig.h的三个配置项来配置调度算法:configUSE_PREEMPTION (是否抢占) configUSE_TIME_SLICING (是否轮转) c…

分布式事务(7):SpringCloud2.0整合LCN

目前LCN版本已经升级为4.0了,但是官方没有SpringCloud2.0的demo案例。 因为LCN本身是开源的,有些大神对LCN框架源码做修改,可以支持SpringCloud2.0版本。 下载地址:https://download.csdn.net/download/u013938578/88251904 1 下载LCN服务端源码 https://download.csdn.…

day-27 代码随想录算法训练营(19)回溯part03

39.组合总和 分析:同一个数可以选多次,但是不能有重复的答案; 思路:横向遍历,纵向递归(不同的是递归的时候不需要跳到下一个位置,因为同一个数可以选多次) class Solution { publ…

基于python+pyqt的opencv汽车分割系统

目录 一、实现和完整UI视频效果展示 主界面: 识别结果界面: 查看分割处理过程图片界面: 二、原理介绍: 加权灰度化 ​编辑 二值化 滤波降噪处理 锐化处理 边缘特征提取 图像分割 完整演示视频: 完整代码链…

4.14 tcp_tw_reuse 为什么默认是关闭的?

开启 tcp_tw_reuse 参数可以快速复用处于 TIME_WAIT 状态的 TCP 连接时,相当于缩短了 TIME_WAIT 状态的持续时间。 tcp_tw_reuse 是什么? TIME_WAIT 状态的持续时间是 60 秒,这意味着这 60 秒内,客户端一直会占用着这个端口。端…

springboot定时任务:同时使用定时任务和websocket报错

背景 项目使用了websocket,实现了消息的实时推送。后来项目需要一个定时任务,使用org.springframework.scheduling.annotation的EnableScheduling注解来实现,启动项目之后报错 Bean com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration of t…

11.Oracle中rollup函数详解

【基本介绍】 【格式】:group by rollup(字段1,字段2,字段3,...,字段n) 【说明】:rollup主要用于分组汇总,如果rollup中有n个字段,则会分别按【字段1】、【字段1,字段2】,【字段1,字段2,字段3】,...&#…

uniapp,使用canvas制作一个签名版

先看效果图 我把这个做成了页面,没有做成组件,因为之前我是配合uview-plus的popup弹出层使用的,这种组件好像是没有生命周期的,第一次打开弹出层可以正常写字,但是关闭之后再打开就不会显示绘制的线条了,还…

【Linux应用部署篇】在CSDN云IDE平台部署Etherpad文档编辑器

【Linux应用部署篇】在CSDN云IDE平台部署Etherpad文档编辑器 一、CSDN云IDE平台介绍1.1 CSDN云IDE平台简介1.2 CSDN云IDE平台特点 二、本次实践介绍2.1 本次实践介绍2.2 Etherpad简介 三、登录CSDN云IDE平台3.1 登录CSDN开发云3.2 登录云IDE3.3 新建工作空间3.4 进入工作空间 四…

Spring(aop介绍,底层实现,jdk代理,cglib代理)

02-aop简介-aop的作用及其优势_哔哩哔哩_bilibili 122 1、Spring的aop介绍 1.1aop是一种技术,aop是在运行之间执行的,他可以完成程序功能之间的松耦合,动态代理的作用也等同于Aop的作用:他提供了相应的封装,Aop是面向…

unity 模型显示在UI上 并交互(点击、旋转、缩放)

项目工程:unity模型显示在UI上并交互(点击、旋转、缩放)资源-CSDN文库 1.在Assets创建 Render Texture(下面会用到),根据需要设置Size 2.创建UIRawImage,并把Render Texture赋上 3.创建相机&am…

SSL/CA 证书及其相关证书文件(pem、crt、cer、key、csr)

数字证书是网络世界中的身份证,数字证书为实现双方安全通信提供了电子认证。数字证书中含有密钥对所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证。数字证书可以在网络世界中为互不见面的用户建立安全可靠的信任关系,这…