ฉันรู้ที่อยู่ IP ของโฮสต์บน LAN ของฉันเอง เมื่อใช้สิ่งนี้ฉันจะค้นหาที่อยู่ MAC ของมันได้อย่างไร (โดยไม่ต้องเข้าถึงที่อยู่จริง)
ฉันรู้ที่อยู่ IP ของโฮสต์บน LAN ของฉันเอง เมื่อใช้สิ่งนี้ฉันจะค้นหาที่อยู่ MAC ของมันได้อย่างไร (โดยไม่ต้องเข้าถึงที่อยู่จริง)
คำตอบ:
หากคุณอยู่บนเครื่อง 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)
ping
ก่อนหน้านี้arp -a
คืออะไร?
คำสั่ง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)
arping
แพคเกจทำงานสำหรับฉัน แต่เชื่อมต่อเครือข่ายที่ระบุไว้กับกรณีที่ต่ำกว่า:iputils-arping
arping
i
arping -c 1 -i eth0 10.100.10.11
ลอง
getmac /s hostname
หรือ:
getmac /s IP
คุณต้องเข้าสู่ระบบของผู้ดูแลระบบเพื่อทำสิ่งนี้
arp -a
ซึ่งไม่ต้องการการเข้าถึงของผู้ดูแลระบบ?
หากคุณมีสวิตช์ที่มีการจัดการหรือเราเตอร์ของคุณให้คุณดูตาราง ARP คุณสามารถรับสิ่งนี้ได้จากที่นั่น
หากคอมพิวเตอร์ที่คุณมี IP นั้นออนไลน์อยู่คุณสามารถ ping และรับ MAC จากตาราง ARP ท้องถิ่นของคุณ
หมายเหตุทั่วไปเพื่อประโยชน์ของผู้อื่น: เป็นไปไม่ได้ที่จะได้รับที่อยู่ MAC สำหรับเครื่องที่อยู่บน LAN ที่แตกต่างกันเนื่องจากโปรโตคอลเลเยอร์ 3 ใช้สำหรับการระบุที่อยู่และการจัดส่งในกรณีนี้และ MAC คือชั้นที่ 2
เพียงใช้สิ่งที่ชอบ:
nmap -n -sP 192.168.146.0/24
หลังจากปรับพารามิเตอร์ให้เข้ากับการตั้งค่าของคุณสิ่งนี้จะสแกนซับเน็ตทั้งหมดของคุณโดยระบุ IP และ MAC
คุณสามารถใช้ยูทิลิตี้เช่นhttp://trogonsoftware.com/trogon-mac-scanner.htmlหรือเครื่องสแกนที่อยู่ ip \ mac เครื่องอื่นเพื่อสแกนเครือข่ายเพื่อหาที่อยู่ของคอมพิวเตอร์ระยะไกลบน LAN
หากทั้งเครื่องของคุณและเครื่องเป้าหมายอยู่ในเครือข่ายย่อยเดียวกันคุณสามารถ 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
ตราบใดที่ไม่มีเกตเวย์ที่กำหนดเส้นทางทราฟฟิกระหว่างคอมพิวเตอร์ดมกลิ่นใด ๆ ก็จะให้ข้อมูลนี้แก่คุณ
คุณสามารถปรึกษาตาราง arp บนเราเตอร์ของคุณ (ในบางกรณีเราเตอร์จะรวมตารางการเช่า arp และ dhcp เข้าด้วยกัน)
อีกวิธีคือ:
nbtstat -a 192.168.1.1
(แทนที่192.168.1.1
ด้วยที่อยู่ที่ต้องการ)
นอกจากนี้หากgetmac
ใช้กับคอมพิวเตอร์ที่ไม่ใช่ Windows คุณจะได้รับ:
ข้อผิดพลาด: เซิร์ฟเวอร์ RPC ไม่สามารถใช้งานได้