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)?

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)

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)

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.


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.


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



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


0

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


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).


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.