为802.11数据包打开Raw Socket Micropython

时间:2019-03-03 22:08:22

标签: python esp8266 nodemcu micropython

我正在使用带有MicroPython的ESP8266(NodeMCU),希望能够进行数据包注入或发送原始数据包/自由数据包。无论如何,我找不到打开原始套接字(套接字/套接字模块)或通过“网络”模块执行此操作的方法。反正我能做到吗?

正常的python等效为:

import socket
s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003))
s.bind(("wlan0", 0x0003)) #wlan0 being in monitor mode

在micropython中,您可以像这样进入监控模式(工作站模式)

import network
sta_if = network.WLAN(network.STA_IF)

但是从那里,您无法发送/接收任何数据包。有什么方法可以做到这一点?

非常感谢您的帮助。

很抱歉,由于缺少细节,但是我不知道该怎么办。

1 个答案:

答案 0 :(得分:1)

我认为您无法通过使用micropython @ esp8266实现原始套接字

一个原因是esp8266的内存非常有限。另一个原因是他们的套接字没有实现原始套接字。

您可以尝试使用CC3200端口并修改其micropython的固件。