簡體   English   中英

如何使用Python從Linux上的已知Mac地址獲取IP地址

[英]How to get ip address from known mac address on Linux using Python

如果我知道機器的Mac地址,該如何找到IP地址?

我需要能夠執行此操作,因此我編寫了一個可以執行此操作的python腳本:

import scapy
from multiprocessing import Process, Pool

def _arp_request(ip_addr):
    answer, _ = srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip_addr), verbose=0, timeout=.5)
    if answer:
        return (answer[0][1].src, answer[0][0].pdst)

pool = Pool(50)
mac_addrs = [ad for ad in pool.map(_arp_request, addrs) if ad]

地址是可能嘗試使用的IP地址的列表。

它發出快速的arp請求並映射出網絡。

或者,您可以使用我編寫的模塊(該模塊保留緩存以最小化arp請求):

>>> from ethip import ethip
>>> print ethip.getip('00:1E:C9:56:3C:8E', '10.5.42.255')
10.5.42.3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM