แสดงรายการที่อยู่ MAC ทั้งหมดและที่อยู่ IP ที่เกี่ยวข้องในเครือข่ายท้องถิ่นของฉัน (LAN)


82

ฉันจะแสดงรายการที่อยู่ MACทั้งหมดและที่อยู่ IP ที่เกี่ยวข้องของเครื่องที่เชื่อมต่อกับเครือข่ายท้องถิ่น (LAN) ของฉันได้อย่างไร


6
เป็นสิ่งสำคัญที่จะต้องเข้าใจว่าเมื่อคุณผ่านเลเยอร์เครือข่ายระดับที่ 3 คุณจะไม่สามารถรับ MAC และ IP ที่อยู่เบื้องหลังข้อตกลงนี้ได้
Kiwy

ทำไมคุณ!ถึงติดเครื่องหมายคำถาม? ไม่จำเป็นและใช้เฉพาะในกรณีที่คำถามตะโกนหรือมีความสำคัญสูง
kiri

@ minerz029 ขอบคุณที่ชี้แจงว่า
Maythux

1
sudo tail -f /var/log/messagesจากนั้นให้ถอดและเสียบปลั๊กในอุปกรณ์ที่คุณพยายามค้นหาที่อยู่ MAC ของหรือ grep / อ่านผ่านข้อความเพื่อค้นหาอุปกรณ์
IceArdor

คำตอบ:


63

คุณสามารถใช้ยูทิลิตี้Nmapสำหรับสิ่งนี้ Nmap เป็นยูทิลิตี้สแกนเนอร์เครือข่ายฟรี

ลองแค่:

sudo nmap -sn 192.168.1.0/24

โปรดแทนที่ตัวระบุเครือข่ายและซับเน็ตมาสก์ของคุณ

วิธีค้นหา ID เครือข่ายและซับเน็ตมาสก์

ใช้คำสั่งip a:

bash~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c4:85:08:94:ee:9a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0
    inet6 fe80::c685:8ff:fe94:ee9a/64 scope link valid_lft forever preferred_lft forever

ที่นี่ที่จุดที่ 2 ฉันมีwlan0อุปกรณ์ มันบอกว่าinet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0ที่อยู่ IP: 192.168.3.66, 24มาสก์: รหัสเครือข่ายคือ192.168.3.0เพียงแทนที่หมายเลขสุดท้ายด้วย 0

หรืออย่างที่มนุษย์nmapพูดว่า:

sudo nmap -sn 192.168.1.0/24

นี่คือคำพูดเล็ก ๆ น้อย ๆ จากหน้าคนnmap (1) :

-sn (No port scan)

ตัวเลือกนี้จะบอก Nmap ว่าจะไม่ทำการสแกนพอร์ตหลังจากค้นหาโฮสต์และพิมพ์เฉพาะโฮสต์ที่มีอยู่ซึ่งตอบสนองต่อการสแกน สิ่งนี้มักรู้จักกันในชื่อ“ การสแกนแบบปิง” แต่คุณสามารถขอให้สคริปต์ traceroute และ NSE โฮสต์ทำงานได้

นี่คือค่าเริ่มต้นที่น่ารำคาญกว่าการสแกนรายการหนึ่งขั้นตอนและมักจะสามารถใช้เพื่อจุดประสงค์เดียวกัน มันช่วยให้การสำรวจแสงของเครือข่ายเป้าหมายโดยไม่ดึงดูดความสนใจมากนัก

การทราบจำนวนโฮสต์ที่ใช้งานมีค่ามากกว่าสำหรับผู้โจมตีมากกว่ารายการที่ระบุโดยการสแกนรายการของที่อยู่ IP และชื่อโฮสต์ทุกรายการ

ผู้ดูแลระบบมักพบว่าตัวเลือกนี้มีค่าเช่นกัน สามารถใช้เพื่อนับจำนวนเครื่องที่มีอยู่ในเครือข่ายหรือตรวจสอบความพร้อมของเซิร์ฟเวอร์ สิ่งนี้มักเรียกว่าการกวาด ping และมีความน่าเชื่อถือมากกว่าการส่ง Ping ไปยังที่อยู่ออกอากาศเนื่องจากโฮสต์จำนวนมากไม่ตอบกลับข้อความค้นหาที่ออกอากาศ

การค้นหาโฮสต์เริ่มต้นที่ทำด้วย-snการร้องขอ ICMP echo, TCP SYN ไปยังพอร์ต 443, TCP ACK ถึงพอร์ต 80 และการร้องขอเวลาประทับ ICMP โดยค่าเริ่มต้น

เมื่อดำเนินการโดยผู้ใช้ที่ไม่มีสิทธิพิเศษจะส่งเฉพาะแพคเก็ต SYN (ใช้การconnectโทร) ไปยังพอร์ต 80 และ 443 บนเป้าหมาย

เมื่อผู้ใช้ที่มีสิทธิพิเศษพยายามสแกนเป้าหมายบนเครือข่ายอีเธอร์เน็ตท้องถิ่นคำขอ ARP จะถูกใช้เว้นแต่จะ--send-ipระบุไว้ -snตัวเลือกที่สามารถใช้ร่วมกับใด ๆ ของประเภทการค้นพบการสอบสวน (คน-P*ตัวเลือกไม่รวม-Pn) ให้มีความยืดหยุ่นมากขึ้น

หากใช้โพรบชนิดใดชนิดหนึ่งและตัวเลือกหมายเลขพอร์ตโพรบเริ่มต้นจะถูกแทนที่ เมื่อไฟร์วอลล์ที่เข้มงวดอยู่ระหว่างโฮสต์ต้นทางที่รัน Nmap และเครือข่ายเป้าหมายแนะนำให้ใช้เทคนิคขั้นสูงเหล่านั้น ไม่เช่นนั้นอาจพลาดโฮสต์เมื่อไฟร์วอลล์ทิ้งโพรบหรือการตอบกลับ

ในรุ่นก่อนหน้าของ Nmap, เป็นที่รู้จัก-sn-sP


มันไม่ทำงาน
Maythux

4
สิ่งนี้จะต้องมีการปรับเพื่อ192.168.1.0/24เปลี่ยนเป็นช่วงที่อยู่ IP ของผู้ใช้
kiri

@ minerz029 แน่นอนว่าฉันได้เปลี่ยน IP
Maythux

ฉันไม่รู้ว่านั่นเป็นเหตุผลหรือไม่ แต่บน Linux ฉันใช้nmap -sP 192.168.1.0/24สำหรับการสแกน ping
ติ๊กต๊อก

2
คุณรู้หรือไม่ว่าเหตุใดจึงต้องมีผู้มีสิทธิ์ใช้งานระดับรากเพื่ออ่านที่อยู่ MAC จากเครือข่าย
Michael Aquilina

45

arpจะส่งคืนรายการที่อยู่ MAC และ IP ที่ใช้งานหรือชื่อโฮสต์ให้คุณช้าหากมี ถ้าคุณต้องการให้มันเร็วขึ้นคุณสามารถใช้arp -nสิ่งที่ควรข้ามการค้นหา DNS หากคุณต้องการแยกวิเคราะห์มันเป็นสิ่งที่arp -anจะข้ามคอลัมน์ความกว้างคงที่

$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.10.0.11               ether   00:04:ff:ff:ff:d0   C                     eth0
10.10.0.16               ether   00:04:ff:ff:ff:a6   C                     eth0
raspbmc.local            ether   00:1f:ff:ff:ff:9c   C                     eth0
10.10.0.19               ether   00:04:ff:ff:ff:c9   C                     eth0
10.10.0.12               ether   bc:f5:ff:ff:ff:93   C                     eth0
10.10.0.17               ether   00:04:ff:ff:ff:57   C                     eth0
10.10.0.1                ether   20:4e:ff:ff:ff:30   C                     eth0
HPF2257E.local           ether   a0:b3:ff:ff:ff:7e   C                     eth0
10.10.0.15               ether   00:04:ff:ff:ff:b9   C                     eth0
tim                      ether   00:22:ff:ff:ff:af   C                     eth0
10.10.0.13               ether   60:be:ff:ff:ff:e0   C                     eth0

มิฉะนั้นเราเตอร์ของคุณควรจะให้แนวคิดเกี่ยวกับอุปกรณ์ที่ใช้งานอยู่ (ส่วนใหญ่ทำ)


แก้ไขความคิดเห็นของ davidcl คำตอบนี้ไม่สมบูรณ์แบบอย่างที่ฉันหวังไว้ก่อน

arpอาศัยการติดต่อก่อนหน้านี้ของการเรียงลำดับในการทำงาน อย่างไรก็ตามในความคิดของฉันอุปกรณ์ที่ทันสมัยล้วน แต่ช่างพูด (คุณควรจะดู wireshark - มันเป็นการศึกษา) ในระดับการออกอากาศที่ไม่น่าเป็นไปได้ที่อุปกรณ์จะปรากฏบนเครือข่ายโดยไม่ตอบกลับการออกอากาศอย่างน้อย (เพื่อให้แน่ใจว่าคุณสามารถ ping อุปกรณ์ทั้งหมดในเครือข่ายด้วย 10.10.0.255 ก่อนจากนั้นคุณอาจจะได้รับ 90 +% ของอุปกรณ์)

เพื่อให้ความคิดบางอย่างเกี่ยวกับสิ่งที่ฉันหมายถึง 10.10.0.16 ข้างต้นคือ PVR ของเรา ไม่มีการโต้ตอบโดยตรงระหว่างพีซีของฉันกับ PVR และไม่มีบริการใด ๆ ที่ทำงานบน PVR (ไม่มี UPNP / DLNA เช่นกัน)

เพียงแค่เล่นผ่านการโต้เถียงอย่างรวดเร็ว ...

  • แต่สิ่งที่เกี่ยวกับแฮกเกอร์ในเครือข่ายของฉัน! 1
    พวกเขาสามารถบล็อก ping ICMP ได้เช่นกัน พวกเขาสามารถบล็อกการตอบสนองทั้งหมดต่อการสแกนทุกประเภท
  • โอ้ แต่ก็nmapยังคงเป็นทางออกที่ดีที่สุด
    เมื่อใช้ที่นี่มันยังขาดอุปกรณ์สี่อย่าง อุปกรณ์สี่อย่างที่ใช้งานบนเครือข่าย ไม่ว่าพวกเขาจะไม่ตอบสนองต่อการปิงหรือ nmap ไม่รอนานพอที่พวกเขาจะตอบ ... ฉันไม่รู้ nmapเป็นเครื่องมือที่ยอดเยี่ยม (โดยเฉพาะอย่างยิ่งสำหรับการสแกนพอร์ตที่คุณอาจต้องการทำต่อไป) แต่ก็ยังค่อนข้างซุ่มซ่าม (และช้าเล็กน้อย) สำหรับปัญหานี้ และอย่าเรียกฉันว่าเชอร์ลี่ย์

1
ถ้าฉันเปลี่ยน MAC ID ด้วย mac changer จะสามารถแสดงต้นฉบับได้หรือไม่
rɑːdʒɑ

2
@BEAEAskUbuntu ถ้าคุณใช้ MAC changer, MAC ของคุณคือสิ่งที่คุณตั้งไว้ สำหรับผู้ใช้เครือข่ายทั้งหมดแหล่งกำเนิดของมันไม่เป็นที่รู้จักโดยทั่วไปดังนั้นจึงไม่สามารถทำได้
Ruslan

3
@Ruslan นั่นเป็นเพียงความหวาดระแวงที่ทำให้ฉันว่างเปล่า ... ฉันแน่ใจว่ามันจะค่อนข้างยากสำหรับบุคคลที่จะทำอะไรกับพวกเขา แต่คุณไม่เคยรู้ว่าใครสะกดรอยตามคุณ
Oli

9
ฉันประหลาดใจกับคำตอบนี้ "arp" ไม่แสดงรายการที่อยู่ MAC ที่ใช้งานอยู่ในเครือข่ายท้องถิ่น "arp" แสดงรายการที่อยู่ MAC ที่ตรงกับเครื่องที่มีการโต้ตอบกับเครื่องที่กำลังทำงานอยู่ หากไม่มีการสื่อสารระหว่างเครื่องท้องถิ่นกับเครื่องอื่นในเครือข่ายเมื่อเร็ว ๆ นี้เครื่องนั้นจะไม่ปรากฏในรายการ "arp"
davidcl

5
ฉันเพิ่งทำการทดสอบอย่างรวดเร็วบนเครือข่ายของฉันและ arp จะแสดงเพียง 25% ของอุปกรณ์ที่มีอยู่ หากคอมพิวเตอร์ที่ใช้ arp ไม่ได้รับแพ็คเก็ตจากอุปกรณ์อื่นมันจะไม่อยู่ในรายการ arp ฉันสนใจที่จะทราบเพิ่มเติมเกี่ยวกับอุปกรณ์ที่ nmap ไม่สามารถตรวจพบในเครือข่ายของคุณ มีวิธีการซ่อนจาก nmap แต่ฉันพบสแกน nmap เริ่มต้นค่อนข้างมีประสิทธิภาพ ที่กล่าวว่าไม่มีคำตอบที่ไม่ปลอดภัยเพราะหากอุปกรณ์ไม่ได้สร้างทราฟฟิกและไม่ตอบคำขอมันจะไม่ปรากฏ - แต่อุปกรณ์ส่วนใหญ่จะตอบคำขอบางประเภท
davidcl

36

ฉันใช้arp-scanสิ่งนี้:

$ sudo arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.2.1     ec:1a:59:61:07:b2       (Unknown)
192.168.2.50    90:59:af:3d:6d:bc       (Unknown)
192.168.2.51    3c:97:0e:48:22:12       (Unknown)
192.168.2.52    00:18:31:87:8f:b0       Texas Instruments

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 256 hosts scanned in 1.282 seconds (199.69 hosts/sec). 4 responded

1
หากคุณต้องการระบุอินเทอร์เฟซเครือข่ายเช่นไร้สายให้ใช้คำสั่งนี้sudo arp-scan -l -I wlan0
HarlemSquirrel

ใช่ arp-scan เป็น "เครื่องมือที่ดีที่สุดสำหรับงาน" แน่นอน
mivk

อุปกรณ์นี้ใช้งานไม่ได้สำหรับฉัน ... ไม่ตอบสนองด้วยเหตุผลบางอย่าง
Andrew Wagner

เพื่อให้ได้ arp-scan เพื่อทำงานฉันต้องทำbrew install arp-scanใน OSX El Capitan
jamescampbell

16

arp-scanคุณสามารถใช้

ติดตั้งโดยใช้คำสั่งนี้:

sudo apt-get install arp-scan

ในการแสดงรายการที่อยู่ IP ทั้งหมดและที่อยู่ MAC ที่เกี่ยวข้องให้ใช้:

sudo arp-scan --interface=eth0 --localnet

ผลลัพธ์จะมีลักษณะดังนี้:

Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 16777216 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.3 38:60:77:29:31:36   (Unknown)
192.168.1.8 4c:72:b9:7c:bb:7e   (Unknown)
192.168.1.110   00:15:17:5f:d2:80   Intel Corporate
192.168.1.111   00:ff:88:5f:fd:f0   (Unknown)
192.168.1.153   00:15:17:5f:d2:82   Intel Corporate
192.168.1.180   52:54:00:70:04:02   QEMU
192.168.1.199   52:54:00:fe:7f:78   QEMU

1
นี้ไม่ได้หาอุปกรณ์ที่ไม่ได้มี IP ยัง ...
แอนดรูวากเนอร์

9

GUI

คุณสามารถลองAvahi ค้นพบติดตั้ง avahi-Discover

  1. ติดตั้งด้วยคำสั่งนี้ (หรือโดยการคลิกที่ลิงค์ด้านบน):

    sudo apt-get install avahi-discover
    
  2. เรียกใช้Avahi Zeroconf Browserหรือavahi-discoverจากเทอร์มินัล
  3. คุณควรเห็นหน้าต่างที่มีรายการอุปกรณ์ในเครือข่ายท้องถิ่นของคุณ
    ที่อยู่ MAC จะเป็นสตริงในเครื่องหมายวงเล็บเหลี่ยม

บรรทัดคำสั่ง

คุณสามารถใช้คำสั่งนี้ในเทอร์มินัล:

avahi-browse -a -t -d local

มันถูกติดตั้งโดยค่าเริ่มต้น


1
วิธีนี้ทำงานเพื่อแสดงที่อยู่ MAC ของเครื่องที่ไม่ได้ทำงานบริการใด ๆ หรือไม่?
Eliah Kagan

3
ในกรณีของฉันมันไม่สามารถใช้ได้กับทุกอุปกรณ์ในเครือข่าย มันค่อนข้างเรียบร้อยเนี้ยบ แต่มันจะไม่แสดงลูกค้าที่โง่เง่าหากไม่มีบริการ avahi / upnp
Oli

5
  1. ก่อนอื่นให้ทำการสแกนเครือข่ายเพื่อดูว่าโฮสต์ใดบ้างที่สามารถเข้าถึงได้ / ออนไลน์โดยใช้nmap -sn 1.2.3.4/24หรือfping -g 1.2.3.4/24

  2. แล้วสอบถามที่อยู่ MAC สอดคล้องกับที่อยู่ IP arpingใช้ โค้ดหลอกล่วงหน้า:

    for i in $(cat list-of-reachable-hosts)
    do 
        arping $i
    done
    
  3. Cheatery: ดูที่ arp-cache ของสวิตช์โลคัล ที่ควรให้ภาพรวมที่ดี ...



2

ฉันรู้สึกทึ่งกับโพสต์นี้ ฉันต้องการสิ่งนี้แล้ว

ฉันเขียนเชลล์สคริปต์ที่แยกวิเคราะห์arpเอาต์พุตโดยใช้awkคำสั่งและสร้างเอาต์พุต HTML หากคุณรันสคริปต์และเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ HTML คุณจะเหลือไฟล์ HTML ที่แสดง IP, ที่อยู่ MAC แบบเต็มและลิงก์ไปยังหน้าค้นหา IEEE OUI สิ่งนี้ช่วยในการพิจารณาลูกค้าโดยผู้ผลิต NIC

printf "<html>\n<title>LAN IPs and their MACs</title>\n<body>\n"
arp -a | awk '{print $2,$4}' | awk -F'[().: ]' '{print $2"."$3"."$4"."$5,$6,$7":"$8":"$9":"$10":"$11":"$12,"<a href=\"http://standards.ieee.org/cgi-bin/ouisearch?"$7$8$9"\">IEEE OUI Lookup "$7"-"$8"-"$9"</a><br>"}'
printf "\n</body>\n</html>\n"

ช่วยในการดำเนินการnmapสแกนบน LAN ของคุณก่อนเพื่อให้คุณมีรายการในตาราง ARP หวังว่ารูปแบบการแปล คุณสามารถทำให้สิ่งนี้งดงามขึ้นเพื่อให้มีข้อความในรูปแบบตาราง


2

หลังจากทำงานและค้นหาฉันพบคำสั่งนี้:

nmap -sP -PE -PA21,23,80,3389 192.168.1.*

nmap: เครื่องมือสำรวจเครือข่ายและสแกนความปลอดภัย / พอร์ต

-sP(ข้ามพอร์ตสแกน) ตัวเลือกนี้จะบอก Nmap ว่าจะไม่ทำการสแกนพอร์ตหลังจากค้นหาโฮสต์และพิมพ์เฉพาะโฮสต์ที่มีอยู่ซึ่งตอบสนองต่อการสแกน สิ่งนี้มักรู้จักกันในชื่อ“ การสแกนแบบปิง” แต่คุณสามารถขอให้สคริปต์ traceroute และ NSE โฮสต์ทำงานได้ นี่คือค่าเริ่มต้นที่น่ารำคาญกว่าการสแกนรายการหนึ่งขั้นตอนและมักจะสามารถใช้เพื่อจุดประสงค์เดียวกัน มันช่วยให้การสำรวจแสงของเครือข่ายเป้าหมายโดยไม่ดึงดูดความสนใจมากนัก การรู้จำนวนโฮสต์ที่ใช้งานมีค่ามากกว่าสำหรับผู้โจมตีมากกว่ารายการที่ได้จากการสแกนรายการของ IP ทุกตัวและชื่อโฮสต์

-PE; -PP; -PM (ประเภทปิง ICMP) นอกจากชนิดการค้นพบโฮสต์ TCP, UDP และ SCTP ที่ผิดปกติที่กล่าวถึงก่อนหน้านี้ Nmap สามารถส่งแพ็กเก็ตมาตรฐานที่ส่งโดยโปรแกรม ping ubiquitous Nmap ส่งแพ็คเก็ต ICMP 8 (คำขอ echo) ไปยังที่อยู่ IP เป้าหมายโดยคาดว่าจะเป็นประเภท 0 (ตอบกลับ echo) จากโฮสต์ที่พร้อมใช้งานโชคไม่ดีสำหรับผู้สำรวจเครือข่ายปัจจุบันโฮสต์และไฟร์วอลล์จำนวนมากปิดกั้นแพ็กเก็ตเหล่านี้ ต้องการโดย RFC 1122 [2] ด้วยเหตุนี้การสแกน ICMP-only จึงไม่ค่อยน่าเชื่อถือเพียงพอต่อเป้าหมายที่ไม่รู้จักผ่านทางอินเทอร์เน็ต แต่สำหรับผู้ดูแลระบบการตรวจสอบเครือข่ายภายในพวกเขาสามารถเป็นวิธีการปฏิบัติและมีประสิทธิภาพ ใช้ตัวเลือก -PE เพื่อเปิดใช้งานการร้องขอเสียงสะท้อนนี้

-A(ตัวเลือกการสแกนเชิงรุก) ตัวเลือกนี้ช่วยให้ตัวเลือกขั้นสูงและก้าวร้าวเพิ่มเติม

21,23,80,3389 พอร์ตเพื่อค้นหา

192.168.1.* ช่วงของ IP แทนที่ด้วยของคุณ


1

หลังจากเบื่อกับการใช้คำสั่งผสม nmap และ ARP ฉันได้สร้างโปรแกรมขนาดเล็กนี้ซึ่งทำการค้นหาที่อยู่ MAC ทั้งหมดสำหรับช่วง IP ที่ระบุ: https://github.com/drkblog/findmacs


มันสอบถามตามลำดับหรือขนาน?
Peter Mortensen

0

arpคุณสามารถใช้

นี่จะแสดง MAC และ IP ของคุณ


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