【问题标题】:RARP using Python standard libraries使用 Python 标准库的 RARP
【发布时间】:2013-12-10 03:02:13
【问题描述】:

我有一些已知 MAC ID 的网络摄像头。我需要一种方法来确定相应的 IP 地址。假设一切都在同一个wifi网络上。但是,我没有修改 wifi 网络路由器设置的权限(换句话说,我无法为摄像头分配静态 IP)。

我听说过 Reverse-ARP 协议,它可以帮助识别给定 MAC ID 的 IP 地址。 There is 可用于 ARP/RARP 的库,但我想知道是否可以在不安装外部库的情况下完成此操作。

【问题讨论】:

    标签: python ip


    【解决方案1】:

    您可以使用原始套接字并自行实现协议。如果你觉得弄脏手很舒服,它不应该那么复杂。 但是我不确定它是否会按预期工作。它很旧,可能不受支持。 也许你可以依靠 con DHCP。但是,如果您无法使用路由器,那么剩下要做的唯一事情就是“ARP 扫描”。

    【讨论】:

    • 什么是“ARP扫描”?我可以在 Python 中使用标准库进行 ARP 吗?
    • 这只是一个“蛮力”,您为子网中的每个 IP 发出 ARP 请求(可能首先要求您的目标以前拥有的 IP),直到找到您想要的。它又脏又丑,但我想不出更好的办法。然而 ARP 协议并没有在 python 的标准库中实现,但它是一个相当简单的协议,您可以尝试使用 struct 和 raw sockets 自己实现它。这里有一些链接:ARP specifications、struct。
    • 附带说明:在处理低级别的套接字时scapy 确实很有用,但我猜你不想使用外部库。
    猜你喜欢
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 2018-04-02
    相关资源
    最近更新 更多