在亚马逊dash按钮黑客内部以及如何使它有用GydF4y2Ba

如何使用简单的Python代码找到一个Dash按钮的MAC地址,以及您可能与它有什么关系GydF4y2Ba

在GydF4y2Ba我之前的关于黑客签名亚马逊划线按钮的帖子GydF4y2Ba我通过说我解释了如何使用的方法来解释如何使用GydF4y2Ba泰德班森的代码GydF4y2Ba并解释您必须做些什么来进行代码工作。GydF4y2Ba

只是为了刷新,在前一篇文章中,我们将Amazon Dash按钮配置为您应该选择的点,其中按钮将触发按钮触发按钮的顺序。因为我们在那里停止了,现在,当按下按钮时,DASH按钮将唤醒,从我们配置的无线网络请求通过DHCP的IP地址,然后是任何设备(无论它是否得到其IP地址via DHCP), it will issue an ARP Probe to make sure that no other device on the local network is using the IP address it’s been assigned.

RFC 5227.GydF4y2Ba那GydF4y2Ba第2.1.1节GydF4y2Ba,解释了ARP探测功能如何:GydF4y2Ba

主机探针,以了解是否通过广播所需地址的ARP请求已经使用了地址。客户端必须使用其发送数据包的接口的硬件地址填写ARP请求的“发件人硬件地址”字段。“发件人IP地址”字段必须设置为所有零;这是为了避免在地址结果在另一个主机使用的情况下在同一链接上污染其他主机中的ARP缓存。“目标硬件地址”字段被忽略,应该设置为所有零。必须将“目标IP地址”字段设置为探测的地址。通过全零'发件人IP地址'构造的ARP请求被称为“ARP探测”。GydF4y2Ba

有用的ARP探测器是它包含请求设备的GydF4y2Ba媒体访问控制地址GydF4y2Ba(MAC地址)GydF4y2Ba应该是独一无二的GydF4y2Ba。因此,如果我们观看ARP探测器并解码它们,我们可以弄清楚我们的Dash按钮的MAC地址是什么。GydF4y2Ba

Ted的代码是在Python中,这使得它非常易于使用,但首先您需要安装GydF4y2BaScapy.GydF4y2Ba图书馆。Scape不仅是一个图书馆,它也是一个惊人的网络工具:GydF4y2Ba

Scapy是一个强大的交互式数据包操作程序。它能够锻造或解码多个协议的数据包,将它们发送在线,捕获它们,匹配请求和回复,以及更多。它可以轻松处理大多数经典任务,如扫描,示踪,探测,单元测试,攻击或网络发现(它可以代替HPing,85%的NMAP,ARPSPOOF,ARP-SK,ARPing,TCPDUMP,TETHEREAL,P0F等)。它对大多数其他工具无法处理的许多其他特定任务也表现出很好,如发送无效帧,注入您自己的802.11帧,组合技术(VLAN跳跃+ ARP缓存中毒,WEP加密通道上的VoIP解码,。..), 等等。GydF4y2Ba

安装Scapy应该很容易,但事实证明,Gotcha的负担​​将是Getcha;在OS X上有一篇文章Juha LaaksonenGydF4y2BaOS X的争吵ScapyGydF4y2Ba这将节省您所有种类的痛苦,如以下命令:GydF4y2Ba

sudo chmod go + r / dev / bpf *GydF4y2Ba

此命令将用于OS X的当前味道,解决您将获得的错误......GydF4y2Ba

例外:EN0:您无权在该设备上捕获((无法打开BPF设备)/ dev / bpf0:权限拒绝)GydF4y2Ba

...运行代码时,因为默认情况下,只允许root访问权限GydF4y2Ba伯克利包接口GydF4y2Ba。该命令通过改变解决了这个问题GydF4y2Ba所有BPF接口(GydF4y2Ba/ dev / bpf *GydF4y2Ba)可读(GydF4y2Ba+ R.GydF4y2Ba) 经过GydF4y2BaGGydF4y2Ba(组;文件组成员的用户)和GydF4y2BaO.GydF4y2Ba(其他;既不是文件所有者的用户也不是文件组的成员)。为Windows和Linux安装Scapy有些更容易和GydF4y2BaScape文件GydF4y2Ba覆盖它。GydF4y2Ba

所以,这里的代码:GydF4y2Ba

从Scapy.all导入*GydF4y2Ba
def arp_display(pkt):GydF4y2Ba
如果pkt [arp] .op == 1:#谁(请求)GydF4y2Ba
如果pkt [arp] .psrc =='0.0.0.0':#ARP探测器GydF4y2Ba
打印“来自:”+ PKT [ARP] .HWSRCGydF4y2Ba
打印嗅探(prn = arp_display,filter =“arp”,store = 0,count = 10)GydF4y2Ba

此代码所做的是通过原始数据包捕获监视网络,查找ARP探针,然后在每个探测中打印MAC地址。请注意,TED的代码使用了参数GydF4y2Bacount = 10.GydF4y2Ba在里面GydF4y2Ba嗅闻GydF4y2Ba函数调用,限制代码只捕获10个数据包;在繁忙的网络上,这将几乎立即发生,所以我删除了参数并选择局面杀死程序GydF4y2BaControl-C.GydF4y2Ba。GydF4y2Ba

按下Dash按钮后,您应该看到这样的显示(我正在使用OS X“El Capitan”所以GydF4y2Ba苏达GydF4y2Ba是必须的):GydF4y2Ba

Redqueen:dash mgibbs $ sudo python dash-01.pyGydF4y2Ba
密码:GydF4y2Ba
ARP探针:74:C2:46:D7:7A:00GydF4y2Ba

瞧!现在你有你的按钮的MAC地址。您可能会尝试一次或两次,以确保它确实是您的按钮的MAC地址作为网络上的其他设备,具有省电模式(例如,Apple TV的)将偶尔唤醒并执行ARP探针。GydF4y2Ba

TED建议以下代码识别您的按钮专门推送的时间(此代码识别名为“Huggies”和“元素”的两个按钮:GydF4y2Ba

从Scapy.all导入*GydF4y2Ba
def arp_display(pkt):GydF4y2Ba
如果pkt [arp] .op == 1:#谁(请求)GydF4y2Ba
如果pkt [arp] .psrc =='0.0.0.0':#ARP探测器GydF4y2Ba
如果pkt [arp] .hwsrc == '74:75:48:5f:99:30':#huggiesGydF4y2Ba
打印“推动Huggies”GydF4y2Ba
elif pkt [arp] .hwsrc == '10:ae:60:00:4d:f3':#元素GydF4y2Ba
打印“推送元素”GydF4y2Ba
别的:GydF4y2Ba
打印“来自未知设备的ARP探测:”+ PKT [ARP] .HWSRCGydF4y2Ba
打印嗅探(prn = arp_display,filter =“arp”,store = 0)GydF4y2Ba

TED继续解释,可以在Google电子表格中记录按钮按下按钮GydF4y2Ba魔法形式GydF4y2Ba,一个来自他的初创公司的工具,GydF4y2BaCloudSitch.GydF4y2Ba那GydF4y2Ba他提供GydF4y2Ba编码GydF4y2Ba做这项工作。GydF4y2Ba

使用按钮按下数据的其他选择是通过通过的情况将事件发送到TwitterGydF4y2Ba旋转GydF4y2Ba图书馆,控制GydF4y2Ba飞利浦色调灯GydF4y2Ba通过这一点GydF4y2Ba培训GydF4y2Ba图书馆 (GydF4y2Ba我最近审查了色调系统GydF4y2Ba)或触发任何东西GydF4y2Baifttt.GydF4y2Ba支持使用的支持GydF4y2Baifttt.GydF4y2Ba图书馆。GydF4y2Ba你甚至可以在黑客攻击仪表板上进一步进一步;根据这一点GydF4y2BaDash按钮拆除文章GydF4y2Ba由Matthew Petroff:GydF4y2Ba

Adafruit现在有一个GydF4y2Ba重新编程按钮的指南GydF4y2Ba。还有一个GydF4y2BaGitHub上有趣的项目GydF4y2Ba具有固件转储和其他固件和重新编程信息。GydF4y2Ba

这些黑客的亚马逊仪表扣按钮非常有趣,疯狂便宜,并且可能是非常有用的东西实验。如果您发现一个良好用途的婴儿脚踏船和唤醒跟踪,请告诉我。GydF4y2Ba

加入网络世界社区有个足球雷竞技appGydF4y2BaFacebookGydF4y2Ba和GydF4y2BalinkedinGydF4y2Ba评论是最重要的主题。GydF4y2Ba
有关的:GydF4y2Ba

版权所有©2015.GydF4y2BaRaybet2

IT薪水调查2021:GydF4y2Ba结果是GydF4y2Ba