gpt4 book ai didi

python - 在没有第三方库的情况下在 python 中以监视模式嗅探以太网数据包?

转载 作者:行者123 更新时间:2023-12-01 05:01:13 25 4
gpt4 key购买 nike

我能够在 python 中以混杂模式嗅探数据包,同时使用以下代码连接到我的无线网络。我已经对此进行了彻底的测试并且知道这是有效的。我在网络上看到正常的数据包:

rawSocket = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003))
packet = rawSocket.recvfrom(2048)
ethernet_header = packet[0][0:14]
ethernet_detailed = unpack("!6s6s2s", ethernet_header)
print ethernet_detailed

但是,我想更进一步,在未连接到任何网络的情况下,在监控模式下使用我的 wifi 卡尝试此操作。我知道我的卡支持监控模式,因为它是 alfa AWUS066NH。我使用下面的代码将 py 卡置于监视模式。

    os.system('ifconfig %s down' % interface)
os.system('iwconfig %s mode monitor' % interface)
os.system('ifconfig %s up' % interface)

但是现在,当我运行上面相同的代码时,它是在混杂模式下使用的,我只得到一个 ethernet_header 的数据包,看起来像这样 ('\x00\x00\x12\x00.H', '\x00\x00\x00\x02l\t', '\xc0\x00')

为什么除了所描述的数据包之外,我再也看不到任何数据包了?另外我应该如何在监控模式下嗅探?我希望在没有第三方的情况下完成此操作,但如果必须的话我会这样做。

最佳答案

自从您将卡置于监控模式后,您现在正在查看 802.11 帧(信标、探测请求/响应等)。

您在 0:14 字节范围内看到的内容是您的卡在捕获的数据之前添加的 Radio Tap header 的一部分。第三个字节表示Radio Tap header 长度0x12(18 个字节)。 Radio Tap header 并不总是 0x12,因此 802.11 数据从第三个字节的值 + 1 开始。

关于python - 在没有第三方库的情况下在 python 中以监视模式嗅探以太网数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26135769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com