记录我网络上所有机器的 MAC 地址

记录我网络上所有机器的 MAC 地址

我想知道哪些机器连接到我的家庭网络。我的想法是建立一个 MySQL 数据库,其中包含每台机器的条目,以及我上次看到它的时间戳以及我见过它的次数的记录。这很简单。我的问题是如何扫描 MAC?我考虑过每 30 分钟运行一次这样的操作:

    #! /usr/bin/python
    
    import nmap
    
    nm = nmap.PortScanner()
    
    nm.scan(hosts='10.10.10.0/24', arguments='-n -sP -PE)
    hosts_list = [(x, nm[x]['status']['state']) for x in nm.all_hosts()]
    for host, status, mac in hosts_list:
         save(host,status,mac)

... 但为了获得 MAC,我需要将其作为 运行root

  • 有没有更好的方法可以做到这一点?(我也考虑过是否能从路由器获取 DHCP 记录,但这样就找不到任何固定 IP 设备)
  • 我可以使用其他工具吗?
  • 我可以以 root 身份在 cron 中运行脚本吗?

答案1

从 Windows 命令行:arp -a 将为您提供当前网络上每个系统的 IP 和 MAC 地址。

答案2

相关内容