帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:事件  EMIT  Pressed  event  模块  DASH  亚马逊  EVE  
Place it. Hack it. Press it.

  • 源代码名称:node-dash-button
  • 源代码网址:http://www.github.com/hortinstein/node-dash-button
  • node-dash-button源代码文档
  • node-dash-button源代码下载
  • Git URL:
    git://www.github.com/hortinstein/node-dash-button.git
  • Git Clone代码到本地:
    git clone http://www.github.com/hortinstein/node-dash-button
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/hortinstein/node-dash-button
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • Blank Dash

    node-dash-button

    Travis-CI Build StatusCoverage Statusgitter

    把它放在这里。 Hack Hack。 ,按下它。

    这个 MODULE 是由爱德华。Bensen的这篇精彩文章灵感启发的。

    它是一个简单的库,允许你利用一个破折号按钮发出事件。 我正在使用相同的策略来监视dash生成的ARP请求,如上所示。

    电子邮件内容

    安装说明

    下面应该对ubuntu工作,任何操作系统的主要工作就是获取 is dependancy。

    # dependancy on libpcap for reading packets$ sudo apt-get install libpcap-dev
    $ npm install node-dash-button
    首次 Dash

    按照amazon的指示配置按钮,在你按下按钮时发送消息,但不实际订购。 当你得到一个破折号按钮,亚马逊会给你一个设置指令列表。

    找到一个破折号

    要在网络上查找破折号,请在node_modules中的node-dash-button目录中运行以下命令:

    # you may need to use sudo due to libpcap running in permiscuous mode$ cd node_modules/node-dash-button
    $ node bin/findbutton

    它将在你的网络上监视新的arp和udp请求。 可能有几个这样的请求,所以按几次来确定。 如下面所示复制硬件地址,并记录使用的协议。

    hw address

    注意:如果计算机有多个活动网络接口,findbutton 将使用第一个。 如果需要覆盖这里设置,请将首选接口作为第一个参数传递,如 node bin/findbutton eth6

    使用文档:
    var dash_button =require('node-dash-button');var dash =dash_button(mac_addresses, iface, timeout, protocol);
    • mac_addresses 字符串或者字符串 array
    • iface 在它的上捕获数据包的接口的NAME。 如果传递一个空字符串,将尝试选择一个"默认值"接口,它通常只是一些列表中的第一个。 ( 来自的node_pcap自述文件)
    • 在ms中按 timeout 超时,默认 5000 ( 5 秒)
    • protocolarpudp 或者 all。 默认 arp
    示例用法:

    单划线 英镑

    //warning this may trigger multiple times for one press//...usually triggers twice based on testing for each pressvar dash_button =require('node-dash-button');var dash =dash_button("8f:3f:20:33:54:44", null, null, 'all'); //address from step 上面dash.on("detected", function (){
     console.log("omg found");
    });

    为多个破折号::

    var dash_button =require('node-dash-button');var dash =dash_button(["8f:3f:20:33:54:44","2e:3f:20:33:54:22"], null, null, 'all'); //address from step 上面dash.on("detected", function (dash_id){
     if (dash_id ==="8f:3f:20:33:54:44"){
     console.log("omg found");
     } elseif (dash_id ==="2e:3f:20:33:54:22"){
     console.log("found the other!");
     }
    });

    与特定接口的绑定: 默认情况下,dash button绑定到第一个带有地址的设备。 要将按钮绑定到特定接口( 如 eth6 ),请将接口的NAME 作为 2nd 参数传递给调用方法。

    var dash_button =require('node-dash-button');var dash =dash_button("8f:3f:20:33:54:44", "eth6"); //address from step 上面dash.on("detected", function (){
     console.log("omg found - on eth6!");
    });

    调整超时时间的时间: 默认情况下,媒体之间的超时为 5秒。 视网络而定,这可能不够。 使用以下语法指定毫秒的新超时:

    var dash_button =require('node-dash-button');var dash =dash_button("8f:3f:20:33:54:44", null, 60000); //address from step 上面dash.on("detected", function (){
     console.log("omg found - on eth6!");
    });

    ,UDP或者两个: 默认情况下,协议监视的是 ARP,这是早期按钮所使用的。 然而,更新的按钮使用UDP来请求他们的请求。 通过将协议设置为'arp'。'udp'或者'全部'( 两者),你可以将脚本优化为你的设置。

    注意:如果你的按钮最初使用ARP获取,但现在没有被抓取,那么按钮已经切换到 UDP。

    var dash_button =require('node-dash-button');var dash =dash_button("8f:3f:20:33:54:44", null, null, "all"); //address from step 上面dash.on("detected", function (){
     console.log("omg found");
    });
    运行测试:

    由于使用,permiscuous监测,这很难在lc环境中测试,因这里我结束了两个测试套件。 一个使用实时pcap库,并执行实际的包捕获/arp注入。 另一种使用欺骗来伪造pcap包。 我将有一个即将发表的博客,关于我如何做到这一点,因为它是有趣的。

    运行代码(。由于permiscuous访问需要 root,请运行)的实时测试。

    
    sudo npm run-script livetest
    
    
    
    

    这将实际上将ARP数据包注入网络以运行测试以确保检测。

    我想使用不同的word工具,不允许,函数工作,因这里我结束了它们的功能。 要运行模拟测试,请执行以下操作:

     
    npm test
    
    
    
     
    示例项目:

    我收集了一些在github上发现人们如何使用 MODULE的例子,一些项目比其他项目更成熟

    • 重构
    捐赠

    接受请求请求 !

    许可证

    麻省理工学院许可证( MIT )

    版权( c ) 2016 Alex Hortin

    若要在取得该软件副本时免费授予任何人,如有下列条件的软件,请免费授予该软件的副本,并与相关的文档文件("软件") 进行许可,包括不受限制的权利,包括以下条件:

    上述版权声明和本许可声明须包括在所有的副本或实质性部分的软件。

    软件是"是",没有任何保证,表示或者隐含,包括但不限于销售,适合特定用途和 NONINFRINGEMENT。 作者或者版权持有人在合同。侵权或者它的他与软件或者它的他用户交易的行为。



    文章标签:模块  PRE  EVE  event  亚马逊  按钮  DASH  事件  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语