記錄我網路上所有機器的 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

相關內容