cara mengetahui alamat mac dari semua mesin di jaringan

31

Apakah ada beberapa cara mudah untuk mengetahui alamat mac dari semua mesin di jaringan saya daripada melakukan SSH ke masing-masing dan ifconfig | grep HWaddrjika ada 300 mesin di jaringan saya benar-benar membutuhkan solusi mudah.

Pengguna Terdaftar
sumber
2
Demi kelengkapan: arp -n 0.0.0.0 Di mana 0.0.0.0 adalah alamat ip perangkat. Perhatikan bahwa Anda masih akan mencari satu per satu. Kadang-kadang Anda hanya menginginkan satu, dan ini tentu saja lebih cepat daripada mengisap untuk setiap kotak. Bagaimana jika itu kotak Windows atau printer?
d -_- b
2
sudo arp-scan --localnet
Silver Moon

Jawaban:

34

Anda dapat menggunakan nmap untuk menjalankan pemindaian ping.

nmap -sP 192.168.254.*

Starting Nmap 5.00 ( http://nmap.org ) at 2011-03-09 11:32 GMT
Host xyzzy.lan (192.168.254.189) is up (0.00022s latency).
MAC Address: 00:0C:29:5B:A5:E0 (VMware)
Host plugh.lan (192.168.254.196) is up (0.00014s latency).
MAC Address: 00:0C:29:2E:78:F1 (VMware)
Host foo.lan (192.168.254.200) is up.
Host bar.lan (192.168.254.207) is up (0.00013s latency).
MAC Address: 00:0C:29:2D:94:A0 (VMware)
Nmap done: 256 IP addresses (4 hosts up) scanned in 3.41 seconds

Edit:

Script sed untuk memfilter output ke IP -> MAC - letakkan ini dalam file.

/^Host.*latency.*/{
    $!N
    /MAC Address/{
        s/.*(\(.*\)) .*MAC Address: \(.*\) .*/\1 -> \2/
    }
}  
/[Nn]map/d
s/^Host .*is up/& but MAC Address cannot be found/

dan gunakan seperti ini

nmap -sP 192.168.254.0/20 | sed -f sedscript
192.168.254.189 -> 00:0C:29:5B:A5:E0
192.168.254.196 -> 00:0C:29:2E:78:F1
Host foo.lan (192.168.254.200) is up but MAC Address cannot be found.
192.168.254.207 -> 00:0C:29:2D:94:A0
Iain
sumber
ya ini yang saya cari, saya membaca pesan lain dan ini bukan Cisco, terima kasih untuk semua pesannya.
Pengguna Terdaftar
1
Saya telah menemukan bahwa satu-satunya cara agar alamat mac muncul adalah dengan menjalankan nmap sebagai root. Juga terlihat bahwa sedscript tidak lagi berfungsi. [Teks di dekat alamat ip telah berubah.
monksy
Laporan pemindaian Nmap untuk 192.168.1.147 Host sudah habis (latensi 0,00045s). Alamat MAC: XX: XX: XX: XX: XX: XX: XX
monksy
16

Gunakan nmap. Penting untuk menjalankannya sebagai root sehingga Anda mendapatkan alamat MAC. Contoh:

sudo nmap -sP 192.168.1.0/24 

Akan memindai 192.168.1.1 - 192.168.1.255. Cari notasi CIDR di wiki jika Anda tidak terbiasa dengan notasi subnet ini.

Anda harus bisa mendapatkan nmap dari repo distro Linux terbaru, mis

sudo apt-get install nmap

atau

sudo yum install nmap

Output sampel dari jaringan saya:

Host 192.168.1.1 is up (0.0069s latency).
MAC Address: 00:0D:54:9B:D8:F4 (3Com)
Host 192.168.1.78 is up (0.0068s latency).
MAC Address: 00:0C:29:BC:3D:1C (VMware)
Host 192.168.1.91 is up (0.0038s latency).
MAC Address: 00:0C:29:8A:F4:A3 (VMware)
Host 192.168.1.92 is up (0.0039s latency).
MAC Address: 00:0C:29:65:60:5F (VMware)
Host 192.168.1.158 is up (0.033s latency).
MAC Address: 00:0C:29:82:24:EA (VMware)
Host 192.168.1.186 is up (0.0024s latency).
MAC Address: 00:0C:29:3E:26:1F (VMware)
Host 192.168.1.190 is up (0.0066s latency).
James Little
sumber
ya metode Anda cukup sederhana.
Pengguna Terdaftar
7

Selama Anda menjalankan perintah ini dari host di segmen jaringan yang sama, nmapakan melaporkan semua alamat MAC untuk setiap host yang ditemukan.

Sebagai contoh:

sudo nmap 192.168.1.0/24 -sP

Starting Nmap 4.76 ( http://nmap.org ) at 2011-03-09 06:29 EST

Host old.net (192.168.1.1) appears to be up.
MAC Address: 00:18:39:C5:A1:DC (Cisco-Linksys)

Untuk alamat MAC saya harus root pada kotak Ubuntu saya. Juga metode sederhana untuk satu host adalah dengan melakukan ping dan melihat tabel arp dengan arp -ajika Anda hanya ingin menggunakan perintah yang biasanya termasuk dalam instalasi awal distribusi:

arp -a | grep -v incomplete
foo.net (192.168.1.145) at 00:0d:4b:6a:2c:cb [ether] on eth0
Kyle Brandt
sumber
7

Coba perintah ini:

arp-scan --interface=eth0 192.168.1.0/24
Dogan YILMAZ
sumber
Saya tahu ini pertanyaan yang sangat lama. Namun, nmap tidak memberi saya alamat MAC apa pun. arp-scan lakukan. Terima kasih.
MikeP
5

Tergantung pada topologi LAN Anda, bidikan terbaik Anda mungkin untuk menampilkan tabel alamat MAC pada sakelar Anda.

Jadi misalnya, jika infrastruktur switch Anda adalah Cisco, Anda dapat mencoba

sh mac address-table

di setiap saklar.

Jika Anda memiliki banyak sakelar, Anda dapat mengotomatiskan tugas ini melalui penggunaan SNMP .

Pilihan lain dan (lagi) tergantung pada topologi Anda dan jenis peralatan jaringan Anda, Anda juga dapat mencoba untuk mendapatkan alamat mac perangkat Anda menampilkan tabel arp pada router Anda.

Dengan salah satu dari dua metode ini, Anda juga akan mendapatkan daftar alamat mac dari perangkat apa pun yang terhubung ke infrastruktur jaringan Anda: PC, printer, titik akses, dll. Dalam kasus pertama, bahkan perangkat tanpa alamat IP. Ini mungkin atau mungkin bukan yang Anda inginkan, tetapi mungkin patut dicoba.

liendo
sumber
1

Mungkin arp-scan juga merupakan opsi:

Lihat contohnya di sini: Panduan Pengguna Arp-scan

Guido van Brakel
sumber
1

Karena Anda menyebutkan tentang ssh ke mesin di jaringan Anda, Anda juga dapat menggunakan shorty ini:

nmap -p 22 10.100.10.0/24 >/dev/null ; arp -a
Niels
sumber
0

Anda dapat menggunakan program yang disebut SIW, gratis dan memindai jaringan yang tidak memerlukan izin, atau argumen.

URL: http://www.gtopala.com/

Tersedia dalam .exe, atau instalasi penuh.

Mike
sumber
.exe? Tag tersebut bertuliskan "Linux-Netowrking"
d -_- b