【问题标题】:Python SOCK_RAW on MAC OS X YosemiteMAC OS X Yosemite 上的 Python SOCK_RAW
【发布时间】:2018-08-09 19:03:47
【问题描述】:

我正在尝试在 Mac 上用 Python 编写一个 snipper,但 Python 的 SOCK_RAW 在 MAC OS X Yosemite 上不起作用。我能做什么?

【问题讨论】:

标签: python python-2.7 python-3.x jpcap


【解决方案1】:

您可以尝试使用这个 Python 库:rawsocketpy。它适用于 Linux Python2 和 Python3,但未在 MAC OSx 上验证。

#!/usr/bin/env python
from rawsocketpy import RawSocket

sock = RawSocket("wlp2s0", 0xEEFA)
sock.send("some data")
sock.send("personal data", dest="\xAA\xBB\xCC\xDD\xEE\xFF")

或服务器形式:

#!/usr/bin/env python
from rawsocketpy import RawRequestHandler, RawAsyncServerCallback
import time

def callback(handler, server):
    print("Testing")
    handler.setup()
    handler.handle()
    handler.finish()

class LongTaskTest(RawRequestHandler):
    def handle(self):
        time.sleep(1)
        print(self.packet)

    def finish(self):
        print("End")

    def setup(self):
        print("Begin") 

def main():
    rs = RawAsyncServerCallback("wlp2s0", 0xEEFA, LongTaskTest, callback)
    rs.spin()

if __name__ == '__main__':
    main()

脚本需要超级用户权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多