
我想知道哪些機器連接到我的家庭網路。我的想法是建立一個 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 位址。