我正在寻找一种获取客户端MAC地址的python方式。所有请求都在同一网络上。我正在寻找arp -n <Client_IP>
在路由器上执行的类似操作。
不确定,但是您始终可以使用请求对象获取IP地址,例如
request.remote_addr
为此,您必须
import request
然后您可以将此IP传递给此功能
import netifaces as nif
def mac_for_ip(ip):
'Returns a list of MACs for interfaces that have given IP, returns None if not found'
for i in nif.interfaces():
addrs = nif.ifaddresses(i)
try:
if_mac = addrs[nif.AF_LINK][0]['addr']
if_ip = addrs[nif.AF_INET][0]['addr']
except IndexError, KeyError: #ignore ifaces that dont have MAC or IP
if_mac = if_ip = None
if if_ip == ip:
return if_mac
return None
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句