Bagaimana cara menemukan alamat MAC dari komputer jarak jauh?

34

Saya tahu alamat IP suatu host di LAN saya sendiri. Dengan menggunakan itu, bagaimana saya bisa menemukan alamat MAC-nya (tanpa harus mengaksesnya secara fisik)?

Frederick
sumber

Jawaban:

46

Jika Anda menggunakan mesin Windows, buka kotak perintah (Mulai ... Jalankan ... cmd), pingmesin target sehingga Anda telah melakukan kontak dengannya , dan kemudian keluarkan perintah arp -auntuk melihat tabel ARP lokal Anda, yang akan mencantumkan Alamat IP dan alamat MAC yang sesuai, misalnya,

C:\Users\L3K> arp -a

Interface: 192.168.200.128 --- 0xb
  Internet Address      Physical Address      Type
  192.168.200.1         00-50-7f-c3-5c-88     dynamic
  192.168.200.2         00-50-7f-d1-e1-40     dynamic
  192.168.200.6         00-80-77-dd-a8-6b     dynamic

Jika Anda menggunakan sistem berbasis Linux, instal arp-scanutilitasnya, lalu dari baris perintah Anda dapat meminta pemindaian jaringan Anda - dalam kasus saya:

sudo arp-scan 192.168.200.0/24

Jika Anda menggunakan antarmuka selain Ethernet, katakanlah, nirkabel, Anda harus menentukan itu, seperti

sudo arp-scan -I wlan0 192.168.200.0/24

Jika Anda tidak tahu antarmuka apa yang Anda gunakan, cukup gunakan perintah yang sesuai di bawah ini.

ifconfig  (For Debian based OS such as Ubuntu)
ip link   (For OS like Arch Linux)
Linker3000
sumber
14
Hanya akan berfungsi jika host lain berada di segmen LAN yang sama.
AnonymousLurker
@ Linker3000, apa gunanya pingsebelumnya arp -a?
Pacerier
4
@Pacerier - perintah arp menampilkan konten cache Address Resolution Protocol, yang memetakan alamat IP ke alamat perangkat keras (mac). Jika Anda belum menghubungi alamat ip target, maka itu tidak akan ada dalam cache. Ping adalah cara sederhana untuk menghubunginya untuk menambahkannya ke cache. Anda bisa menggunakan perintah jaringan apa saja, hanya saja ping itu mudah.
Kevin Jones
19

Perintah tersebut arpingdatang dengan iputilspaket di linux. Tetapkan alamat ip yang akan di-ping dan mengembalikan alamat MAC, bahkan di seluruh sakelar dan subnet pada LAN (setidaknya itu ada di LAN kami).

# arping -c 1 -I eth0 10.100.10.11
ARPING 10.100.10.11 from 10.100.10.25 eth0
Unicast reply from 10.100.10.11 [00:22:68:88:F3:90]  0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
Joe Zacky
sumber
1
Di Debian, ada 2 paket: arpingdan iputils-arping. The arpingpaket bekerja untuk saya, meskipun antarmuka jaringan ditentukan dengan huruf kecil i:arping -c 1 -i eth0 10.100.10.11
chronos
8

Mencoba

getmac /s hostname

atau:

getmac /s IP

Anda memerlukan akses admin ke mesin untuk melakukan ini.

Patrick
sumber
Mengapa tidak menggunakan saja arp -ayang tidak memerlukan akses admin?
Pacerier
2

Jika Anda memiliki sakelar yang dikelola atau router Anda memungkinkan Anda melihat tabel ARPnya, Anda bisa mendapatkannya dari sana.

Jika komputer yang Anda miliki IPnya online, Anda dapat melakukan ping dan mendapatkan MAC-nya dari tabel ARP lokal Anda.

Catatan umum untuk kepentingan orang lain: tidak mungkin untuk mendapatkan alamat MAC untuk mesin yang ada di LAN yang berbeda karena protokol Layer 3 digunakan untuk mengatasi dan pengiriman dalam kasus ini dan MAC adalah Layer 2.

imoatama
sumber
Tidak benar-benar memberinya instruksi tentang "bagaimana" melakukan ini.
GregD
2
Dalam hal melihatnya di router, Anda hanya pergi ke antarmuka web dan mencari-cari. Tidak dapat lebih spesifik dari itu karena setiap router memiliki tata letak dan set halaman yang berbeda untuk admin webnya. Sepertinya -1 kasar bagi saya, terutama karena saya memberikan lebih banyak info daripada MaQleod.
imoatama
2

cukup gunakan sesuatu seperti:

nmap -n -sP 192.168.146.0/24

setelah menyesuaikan params dengan pengaturan Anda, ini akan memindai seluruh subnet Anda yang memberikan IP dan MAC addrs

sparkie
sumber
1

Anda dapat menggunakan utilitas seperti http://trogonsoftware.com/trogon-mac-scanner.html atau pemindai alamat ip \ mac lainnya untuk memindai jaringan untuk mengetahui alamat komputer jarak jauh di LAN.

boogoo
sumber
Ada banyak pilihan gratis juga ... mencari "IP scanner"
JoshP
1

Jika mesin Anda dan mesin target berada di subnet yang sama, Anda bisa melakukan ping saja agar asosiasi IP⟷MAC-nya didaftarkan melalui Address Resolution Protocol (ARP).

ping -c1 $IP
arp -n | grep $IP

misalnya jika saya ingin mencari IP dari 10.1.135.150:

# ping -c1 10.1.135.150
PING 10.1.135.150 (10.1.135.150) 56(84) bytes of data.
64 bytes from 10.1.135.150: icmp_seq=1 ttl=64 time=1.88 ms

--- 10.1.135.150 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.883/1.883/1.883/0.000 ms

Kemudian kueri tabel ARP

# arp -n | grep 10.1.135.150
10.1.135.150             ether   8c:ae:4c:f4:4d:e1   C                     eth0

Jadi MAC dari 10.1.135.150 adalah 8c:ae:4c:f4:4d:e1

RobM
sumber
0

Selama tidak ada gateway yang merutekan lalu lintas antar komputer, sniffer apa pun akan memberi Anda informasi ini.

Ofir
sumber
Terima kasih atas jawaban Ofir. Sebagai sebuah sub-pertanyaan, apakah ada cara untuk melakukan ini jika tuan rumah yang dimaksud sedang down? Ya, saya bisa menanyakan cache ARP host saya sendiri, tetapi sayangnya saat ini tidak mengandung IP yang saya minati. Jadi saya bertanya-tanya apakah ada cara untuk mengekstrak mengatakan cache ARP router perantara dan mencari di dalamnya?
Frederick
0

Anda selalu dapat berkonsultasi dengan tabel arp di router Anda (dalam beberapa kasus, router menggabungkan tabel sewa arp dan dhcp bersama-sama).

MaQleod
sumber
Tepat apa yang saya cari, tetapi alat atau perintah apa yang akan membantu saya melakukan itu?
Frederick
Tapi tunggu dulu, saya di LAN yang sama, jadi tidak akan ada router apa pun?
Frederick
LAN biasa akan memiliki setidaknya satu router. Tergantung pada router, Anda memiliki opsi berbeda tentang cara mendapatkannya. Sebagian besar router rumah yang Anda butuhkan untuk mengaksesnya menggunakan Antarmuka Web untuk menemukan informasi itu, router yang lebih kompleks akan memungkinkan Anda melakukan telnet atau bertanya melalui port konsol untuk mendapatkan informasi itu.
MaQleod
0

Cara lain adalah:

nbtstat -a 192.168.1.1

(ganti 192.168.1.1dengan alamat yang diinginkan)


Juga, jika getmacdigunakan pada komputer non-Windows, Anda akan mendapatkan:

GALAT: Server RPC tidak tersedia.

Pacerier
sumber