Sto scrivendo uno script che deve sapere qual è l'indirizzo MAC del computer host.Come ottenere automaticamente il mio indirizzo MAC con Ruby
Qualcuno sa come fare?
Sto scrivendo uno script che deve sapere qual è l'indirizzo MAC del computer host.Come ottenere automaticamente il mio indirizzo MAC con Ruby
Qualcuno sa come fare?
Non penso che ci sia alcuna funzione incorporata di Ruby per recuperare quell'indirizzo; probabilmente dovrai effettuare una chiamata di sistema per elencare il valore (ad esempio ifconfig
su UNIX, ipconfig /all
su Win32) e analizzare l'output secondo necessità.
Qualcosa di simile a questo (pseudocodice non testata):
def mac_address
platform = RUBY_PLATFORM.downcase
output = `#{(platform =~ /win32/) ? 'ipconfig /all' : 'ifconfig'}`
case platform
when /darwin/
$1 if output =~ /en1.*?(([A-F0-9]{2}:){5}[A-F0-9]{2})/im
when /win32/
$1 if output =~ /Physical Address.*?(([A-F0-9]{2}-){5}[A-F0-9]{2})/im
# Cases for other platforms...
else nil
end
end
Ouch. Ho pensato che sarebbe stato simile al recupero dell'indirizzo IP, che era piuttosto semplice. – mcass20
Im uno stagionato .NET dev alle prese con il vostro campione. L'ho ridotto a un paio di righe dal momento che funzionerà solo su Mac, ma restituisce solo zero. – mcass20
@ mcass20: oops, ha fatto un pasticcio con l'espressione regolare win32, l'ha appena corretto (almeno per Win XP). – maerics
V'è un gioiello chiamato macaddr
che fa questo, ma in fondo è l'analisi l'uscita del sistema di ifconfig
. Puoi vedere il thread mentre era in fase di sviluppo al http://www.ruby-forum.com/topic/113956
Quale sistema operativo sei attivo? Senza saperlo, nessuna risposta utile è probabilmente possibile. –
Indovina che sarebbe di aiuto. Mac OS X – mcass20