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.
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.
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.
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.
Anda dapat menggunakan Nmap untuk melakukan pemindaian ARP yang sangat cepat menggunakan sintaks berikut.
nmap -sn -PR -oX nmap.xml 192.168.1.0/24
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.
# Define nmap input file
$NmapXMLFile = ".\nmap.xml"
# Initialize object array
$HostItems = @()
# Initialize index
$x = 0
# Load XML
[xml]$NmapXML = Get-Content $NmapXMLFile
# Loop through XML
ForEach ($HostNode in $NmapXML.nmaprun.host) {
# Check host status
If ($HostNode.status.state -eq "up") {
# Create host object
$HostObj = "" | Select-Object ID, Hostname, 'IP Address', 'MAC Address', Vendor
# Store ID and increment index
$HostObj.ID = $x += 1
# Store hostname
$HostObj.Hostname = $HostNode.hostnames.hostname.name
# Loop through addresses
foreach ($HostAddress in $HostNode.address) {
# Check IP address
If ($HostAddress.addrtype -eq "ipv4") {
# Store IP address
$HostObj.'IP Address' = $HostAddress.addr
}
# Check MAC address
If ($HostAddress.addrtype -eq "mac") {
# Store MAC address
$HostObj.'MAC Address' = $HostAddress.addr
# Store vendor
$HostObj.Vendor = $HostAddress.vendor
}
}
# Append host object to array
$HostItems += $HostObj
}
}
# Print host items
$HostItems
# Export host items to CSV
$HostItems | Export-CSV -NoType .\nmap.csv
Scantype n not supported
. Rupanya bendera -sn
tidak didukung di Nmap 4.x.
show mac-address-table
).Dari mesin Unix, mendengarkan komputer tanpa-OS di LAN yang sama, dan jika memungkinkan melalui Hub (bukan Switch), Anda dapat mencoba
arp
cat /proc/net/arp
Anda juga mungkin ingin mencoba wireshark
(dari mesin OS-ed). Sekali lagi, lebih baik menggunakan Hub untuk menangkap komunikasi dari mesin BIOS, termasuk siaran.
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.
Inilah solusi yang bekerja untuk saya:
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):
ping 192.168.0.255
Dalam penggunaan Linux:
ping -b 192.168.0.255
Tunggu beberapa detik hingga perangkat merespons, lalu lakukan:
arp -a
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.
ping6 -c2 -n ff02::1%wlan0
. Satu hanya perlu memperbarui nama antarmuka jaringan untuk digunakan, alamat IP yang digunakan untuk tujuan itu selalu ff02::1
terlepas dari jaringan yang Anda gunakan.
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
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.
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:
Jika MAC tidak ada dalam daftar, arpalert meluncurkan skrip pengguna yang telah ditentukan sebelumnya dengan alamat MAC dan alamat IP sebagai parameter.
cuplikan dari nmap:
Nmap ("Network Mapper") adalah utilitas (lisensi) sumber gratis dan terbuka untuk eksplorasi jaringan atau audit keamanan
Lihat di sekitar sini:
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:
[root@x ~]# nmap -sP 192.168.1.1/24
Starting Nmap 6.40 ( http://nmap.org ) at 2014-11-22 14:20 EST
Nmap scan report for 192.168.1.1
Host is up (0.0019s latency).
MAC Address: ZZ:ZZ:54:2E:E9:B4 (Unknown)
Nmap scan report for 192.168.1.33
Host is up (0.035s latency).
MAC Address: ZZ:ZZ:FA:2D:D7:D8 (Intel Corporate)
Nmap scan report for 192.168.1.254
Host is up (0.0020s latency).
MAC Address: ZZ:ZZ:31:02:98:19 (Asustek Computer)
Nmap scan report for 192.168.1.34
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 1.88 seconds
Jika Anda tidak memiliki OS yang terpasang Anda dapat menggunakan linux live cd, nmap mungkin tersedia di sebagian besar dari mereka