Bagaimana cara menemukan alamat MAC mesin di jaringan?
Saya perlu menemukan mesin yang tersedia hanya dengan BIOS terpasang (tidak ada sistem operasi).
Dan saya perlu mencari alamat MAC dari mesin yang naik.
networking
tcp
bios
mac-address
Peter Mortensen
sumber
sumber
Jawaban:
Anda harus mengakses informasi yang tersedia di sakelar terkelola Anda. Jika Anda memiliki jaringan yang tidak dikelola, saya tidak melihat cara untuk melakukan itu.
Ini dengan asumsi komputer target mampu Wake-on-LAN (WoL). Dalam hal ini, tautan ke server dibuat (cari LED tautan mencolok), dan kartu jaringan mendengarkan siaran WoL. AFAIK, kartu tidak menjawab apa pun dalam kondisi ini. Jika tidak ada WoL, kartu kemungkinan besar mati (tidak ada tautan LED), dan tidak akan berfungsi sama sekali.
sumber
Jika mesin tidak dinyalakan, ini tidak mungkin.
Jika mereka diaktifkan, saya kira ini tidak mungkin juga, karena Anda memerlukan tumpukan jaringan minimal untuk setidaknya menjawab hal-hal seperti permintaan ARP dll, yang tidak berfungsi tanpa OS diinstal.
Apa yang mungkin berhasil (saya tidak tahu dan tidak bisa menguji sekarang) adalah bahwa NIC dan sakelar berkomunikasi ketika NIC dicolokkan atau dihidupkan dan sakelar mempelajari alamat MAC dengan cara ini. Jika demikian, Anda akan memerlukan sakelar yang dapat dikelola dan kueri untuk alamat mac yang terhubung.
sumber
Anda dapat menggunakan Nmap untuk melakukan pemindaian ARP yang sangat cepat menggunakan sintaks berikut.
Ini menggunakan ping ARP (hanya permintaan ARP, tidak ada ICMP, UDP atau TCP, tidak ada pemindaian port) untuk memindai rentang alamat IP yang ditentukan dan mencatat tanggapan alamat IP / alamat MAC / Hostname dalam file XML (nmap.xml).
Saya menulis skrip PowerShell yang munges file XML dan meludahkan file CSV . Ini juga menyaring host turun. Saya menemukan ini lebih mudah digunakan di Excel daripada file XML. Ini skripnya jika ada yang tertarik.
sumber
Scantype n not supported
. Rupanya bendera-sn
tidak didukung di Nmap 4.x.(Dalam perintah Cisco switch adalah
show mac-address-table
).sumber
Dari mesin Unix, mendengarkan komputer tanpa-OS di LAN yang sama, dan jika memungkinkan melalui Hub (bukan Switch), Anda dapat mencoba
Anda juga mungkin ingin mencoba
wireshark
(dari mesin OS-ed). Sekali lagi, lebih baik menggunakan Hub untuk menangkap komunikasi dari mesin BIOS, termasuk siaran.sumber
Masalah mendasar di sini adalah bahwa ini adalah informasi Layer 2, jadi hanya switch yang melihatnya. Beberapa sakelar akan menyediakan antarmuka yang memungkinkan Anda mengintip informasi ini, tetapi jika sakelar itu bukan satu-satunya cara untuk mendapatkannya adalah dengan menyadap di lapisan fisik, misalnya dengan memasang hub di antara sakelar.
Jika Anda menggunakan sakelar yang dikelola, informasi ini kemungkinan tersedia dari sakelar. Beberapa router / switch terintegrasi pengguna akhir (seperti jenis yang sering mengemas modem ADSL juga) kadang-kadang akan memiliki daftar klien DHCP yang mencakup alamat MAC.
Jika Anda menggunakan sakelar yang tidak dikelola, dan Anda benar-benar ingin mengetahui info ini, saya sarankan Anda membeli hub , dan untuk sementara ganti sakelar dengannya. Anda kemudian dapat menghubungkan komputer yang menjalankan wireshark ke hub dan menangkap paket ARP untuk merekam alamat MAC. Bergantian Anda dapat menggunakan Echolot untuk melakukan ini untuk Anda - itu secara selektif melacak paket ARP dan membangun basis data alamat MAC.
sumber
Inilah solusi yang bekerja untuk saya:
sumber
Trik kecil yang sangat mudah Anda bisa lakukan dalam 2 detik adalah bekerja dengan fakta bahwa setiap sistem operasi menulis tabel dengan mac dan alamat IP perangkat apa pun yang berinteraksi dengannya. Ini dikenal sebagai ARP TABLE. Jadi pertanyaannya adalah bagaimana memaksa interaksi dengan semua perangkat? Anda bisa ping alamat IP broadcast. Ini tidak sempurna, karena beberapa perangkat atau firewall dapat memblokir permintaan ping ICMP, tetapi berfungsi dalam banyak skenario.
Perintahnya adalah (dalam alamat broadcast ipv4 192.168.0.255):
Dalam penggunaan Linux:
Tunggu beberapa detik hingga perangkat merespons, lalu lakukan:
Untuk ping IPV6 lihat komentar Giedrius Rekasius
Tidak sempurna, tetapi tidak ada alat, tidak ada penelitian, tidak membuang waktu, bekerja di setiap sistem operasi utama dan cepat.
sumber
ping6 -c2 -n ff02::1%wlan0
. Satu hanya perlu memperbarui nama antarmuka jaringan untuk digunakan, alamat IP yang digunakan untuk tujuan itu selaluff02::1
terlepas dari jaringan yang Anda gunakan.Pindai jaringan dengan Nmap dan kemudian periksa tabel ARP (
arp -a
dalam distribusi Linux).sumber
Seperti yang dikatakan orang lain, jika Anda memiliki sakelar yang tidak dikelola, atau BootP / PXE, tidak ada cara mudah untuk mendapatkan MAC dari mesin tanpa OS.
Jika mesin Anda menjalankan windows, mudah untuk skrip (biasanya melalui WMI)
Ada banyak contoh di sini: http://gallery.technet.microsoft.com/ScriptCenter/en-us/site/search?f[0[.Type=SearchText&f[0[.Value=MAC+address&x=0&y= 0
sumber
Saya akan menyarankan beralih tabel alamat MAC, tetapi seseorang sudah membahas yang di atas.
Jika ada komputer yang menjalankan OS dan memiliki alamat IP, Anda dapat terhubung ke LAN yang sama, Anda dapat menggunakan NMAP (atau versi GUI seperti Zenmap) dari http://nmap.org/ ... jika Anda menjalankan ini di LAN yang sama, Anda harus mendapatkan info alamat MAC untuk mesin yang merespons.
Akan bermanfaat untuk memahami lebih banyak tentang mengapa Anda perlu mendapatkan alamat MAC, jika ada cara yang lebih baik untuk mencapai hasil yang sama.
sumber
Anda dapat mengumpulkan informasi ARP dengan misalnya arpalert yang terus berjalan. Dengan itu, Anda akan melihat set alamat ARP setelah mulai.
Mesin yang dimatikan tidak akan mengirimkan balasan ARP kepada Anda.
Untuk mempercepat proses, Anda dapat menggunakan pemindaian ping nmap (nmap -sP) di jaringan Anda dari server tempat Anda menjalankan arpalert, untuk memicu semua host yang mungkin (hidup dan berjalan) untuk menjawab permintaan arp Anda. Dengan menjalankan pemindaian ping nmap secara berkala nanti, Anda memiliki peluang yang lebih baik untuk menangkap host yang sebentar lagi hidup.
cuplikan dari arpalert:
cuplikan dari nmap:
Lihat di sekitar sini:
sumber
Saya menggunakan: nmap -sP 192.168.1.1/24
(ganti 192.168.1.1/24 dengan rentang IP Anda)
Ini akan menunjukkan kepada Anda hanya mesin yang menyala dan akan memberi Anda sesuatu seperti:
Jika Anda tidak memiliki OS yang terpasang Anda dapat menggunakan linux live cd, nmap mungkin tersedia di sebagian besar dari mereka
sumber