จะค้นหาที่อยู่ MAC ของคอมพิวเตอร์ระยะไกลได้อย่างไร


34

ฉันรู้ที่อยู่ IP ของโฮสต์บน LAN ของฉันเอง เมื่อใช้สิ่งนี้ฉันจะค้นหาที่อยู่ MAC ของมันได้อย่างไร (โดยไม่ต้องเข้าถึงที่อยู่จริง)

คำตอบ:


46

หากคุณอยู่บนเครื่อง Windows ให้เปิดกล่องคำสั่ง (เริ่ม ... เรียกใช้ ... cmd) ซึ่งpingเป็นเครื่องเป้าหมายเพื่อให้คุณได้ติดต่อกับมันแล้วออกคำสั่งarp -aเพื่อดูตาราง ARP ในพื้นที่ของคุณซึ่งจะแสดงรายการ ที่อยู่ IP และที่อยู่ MAC ที่เกี่ยวข้องเช่น

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

หากคุณใช้ระบบ Linux ให้ติดตั้งarp-scanยูทิลิตีจากบรรทัดคำสั่งคุณสามารถสแกนเครือข่ายของคุณได้ในกรณีของฉัน

sudo arp-scan 192.168.200.0/24

หากคุณกำลังใช้อินเทอร์เฟซอื่นที่ไม่ใช่อีเธอร์เน็ตพูดไร้สายคุณจะต้องระบุเช่น

sudo arp-scan -I wlan0 192.168.200.0/24

หากคุณไม่ทราบว่าคุณใช้อินเทอร์เฟซแบบใดให้ใช้คำสั่งที่เหมาะสมด้านล่าง

ifconfig  (For Debian based OS such as Ubuntu)
ip link   (For OS like Arch Linux)

14
จะทำงานได้ก็ต่อเมื่อโฮสต์อื่นอยู่ในเซกเมนต์ LAN เดียวกัน
AnonymousLurker

@ Linker3000 ประเด็นpingก่อนหน้านี้arp -aคืออะไร?
Pacerier

4
@Pacerier - คำสั่ง arp แสดงเนื้อหาของแคช Address Resolution Protocol ซึ่งจับคู่ที่อยู่ IP กับที่อยู่ฮาร์ดแวร์ (mac) หากคุณยังไม่ได้ติดต่อที่อยู่ IP เป้าหมายมันจะไม่อยู่ในแคช Ping เป็นวิธีที่ง่ายในการติดต่อเพื่อเพิ่มลงในแคช คุณสามารถใช้คำสั่งเครือข่ายใด ๆ มันเป็นเพียง ping ง่าย ๆ
เควินโจนส์

19

คำสั่งarpingมาพร้อมกับiputilsแพ็กเกจบน linux ระบุที่อยู่ ip เพื่อ ping และส่งคืนที่อยู่ MAC แม้ในสวิตช์และเครือข่ายย่อยบน LAN (อย่างน้อยก็ทำบน LAN ของเรา)

# 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
ใน Debian มี 2 แพคเกจ: และarping แพคเกจทำงานสำหรับฉัน แต่เชื่อมต่อเครือข่ายที่ระบุไว้กับกรณีที่ต่ำกว่า:iputils-arpingarpingiarping -c 1 -i eth0 10.100.10.11
โครโนส

8

ลอง

getmac /s hostname

หรือ:

getmac /s IP

คุณต้องเข้าสู่ระบบของผู้ดูแลระบบเพื่อทำสิ่งนี้


ทำไมไม่เพียงแค่ใช้arp -aซึ่งไม่ต้องการการเข้าถึงของผู้ดูแลระบบ?
Pacerier

2

หากคุณมีสวิตช์ที่มีการจัดการหรือเราเตอร์ของคุณให้คุณดูตาราง ARP คุณสามารถรับสิ่งนี้ได้จากที่นั่น

หากคอมพิวเตอร์ที่คุณมี IP นั้นออนไลน์อยู่คุณสามารถ ping และรับ MAC จากตาราง ARP ท้องถิ่นของคุณ

หมายเหตุทั่วไปเพื่อประโยชน์ของผู้อื่น: เป็นไปไม่ได้ที่จะได้รับที่อยู่ MAC สำหรับเครื่องที่อยู่บน LAN ที่แตกต่างกันเนื่องจากโปรโตคอลเลเยอร์ 3 ใช้สำหรับการระบุที่อยู่และการจัดส่งในกรณีนี้และ MAC คือชั้นที่ 2


ไม่ได้ให้คำแนะนำกับเขาเกี่ยวกับ "วิธีการ" ในการทำสิ่งนี้
GregD

2
ในกรณีที่ดูบนเราเตอร์คุณเพียงไปที่เว็บอินเตอร์เฟสและค้นหา ไม่สามารถระบุได้มากไปกว่านั้นเนื่องจากเราเตอร์ทุกตัวมีเลย์เอาต์และชุดของหน้าสำหรับผู้ดูแลเว็บ ดูเหมือนว่า -1 จะรุนแรงสำหรับฉันโดยเฉพาะอย่างยิ่งตั้งแต่ฉันให้ข้อมูลมากกว่า MaQleod
imoatama

2

เพียงใช้สิ่งที่ชอบ:

nmap -n -sP 192.168.146.0/24

หลังจากปรับพารามิเตอร์ให้เข้ากับการตั้งค่าของคุณสิ่งนี้จะสแกนซับเน็ตทั้งหมดของคุณโดยระบุ IP และ MAC


1

คุณสามารถใช้ยูทิลิตี้เช่นhttp://trogonsoftware.com/trogon-mac-scanner.htmlหรือเครื่องสแกนที่อยู่ ip \ mac เครื่องอื่นเพื่อสแกนเครือข่ายเพื่อหาที่อยู่ของคอมพิวเตอร์ระยะไกลบน LAN


มีตัวเลือกฟรีมากมายเช่นกัน ... ค้นหา "IP scanner"
JoshP

1

หากทั้งเครื่องของคุณและเครื่องเป้าหมายอยู่ในเครือข่ายย่อยเดียวกันคุณสามารถ ping เพื่อให้การเชื่อมโยงIP⟷MACของเครื่องนั้นได้รับการลงทะเบียนผ่าน Address Resolution Protocol (ARP)

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

เช่นถ้าฉันต้องการหา IP ของ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

จากนั้นสอบถามตาราง ARP

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

ดังนั้น MAC ของ 10.1.135.150 ก็คือ 8c:ae:4c:f4:4d:e1


0

ตราบใดที่ไม่มีเกตเวย์ที่กำหนดเส้นทางทราฟฟิกระหว่างคอมพิวเตอร์ดมกลิ่นใด ๆ ก็จะให้ข้อมูลนี้แก่คุณ


ขอบคุณสำหรับคำตอบ Ofir ในฐานะคำถามย่อยมีวิธีทำเช่นนี้หรือไม่หากโฮสต์ที่มีปัญหาไม่ทำงาน ใช่ฉันสามารถค้นหาแคช ARP ของโฮสต์ของฉันได้ แต่น่าเสียดายที่ปัจจุบันไม่มี IP ที่ฉันสนใจดังนั้นฉันจึงสงสัยว่าถ้ามีวิธีการแยกสารบอกว่าแคช ARP ของเราเตอร์ตัวกลางและมองหาสิ่งนั้นหรือไม่
เฟรเดอริ

0

คุณสามารถปรึกษาตาราง arp บนเราเตอร์ของคุณ (ในบางกรณีเราเตอร์จะรวมตารางการเช่า arp และ dhcp เข้าด้วยกัน)


สิ่งที่ฉันกำลังค้นหา แต่เครื่องมือหรือคำสั่งใดที่จะช่วยฉันได้
เฟรเดอริ

แต่เดี๋ยวก่อนฉันอยู่ใน LAN เดียวกันดังนั้นจะไม่มีเราเตอร์ใช่ไหม
เฟรเดอริ

LAN ทั่วไปจะมีเราเตอร์อย่างน้อยหนึ่งตัว ขึ้นอยู่กับเราเตอร์คุณมีตัวเลือกต่าง ๆ ในการรับ เราเตอร์ภายในบ้านส่วนใหญ่ที่คุณต้องการเข้าถึงโดยใช้ Web Interface เพื่อค้นหาข้อมูลเราเตอร์ที่ซับซ้อนมากขึ้นจะช่วยให้คุณสามารถ telnet หรือสอบถามผ่านทางคอนโซลพอร์ตเพื่อรับข้อมูลนั้น
MaQleod

0

อีกวิธีคือ:

nbtstat -a 192.168.1.1

(แทนที่192.168.1.1ด้วยที่อยู่ที่ต้องการ)


นอกจากนี้หากgetmacใช้กับคอมพิวเตอร์ที่ไม่ใช่ Windows คุณจะได้รับ:

ข้อผิดพลาด: เซิร์ฟเวอร์ RPC ไม่สามารถใช้งานได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.