Liệt kê tất cả các địa chỉ MAC và địa chỉ IP được liên kết của chúng trong mạng cục bộ của tôi (LAN)


84

Làm cách nào tôi có thể liệt kê tất cả các địa chỉ MACđịa chỉ IP được liên kết của chúng với các máy được kết nối với mạng cục bộ (LAN) của tôi?


6
Điều quan trọng là phải hiểu rằng ngay khi bạn trải qua trang bị lớp mạng cấp 3, sẽ không thể có được MAC và ip đằng sau thiết bị này
Kiwy

Tại sao bạn đặt !sau một dấu hỏi? Nó không cần thiết và chỉ được sử dụng trong trường hợp câu hỏi được hét lên hoặc có tầm quan trọng cao.
kiri

@ minerz029 cảm ơn vì đã làm rõ điều đó
Maythux

1
sudo tail -f /var/log/messages, sau đó rút phích cắm và cắm lại vào thiết bị bạn đang cố gắng tìm địa chỉ MAC của hoặc grep / đọc qua tin nhắn để tìm thiết bị.
IceArdor 30/03/2016

Câu trả lời:


63

Bạn có thể sử dụng tiện ích Nmap cho việc này. Nmap là một tiện ích quét mạng miễn phí.

Hãy thử chỉ:

sudo nmap -sn 192.168.1.0/24

Vui lòng thay thế định danh mạng và mặt nạ mạng con của bạn.

Cách tìm ID mạng và mặt nạ mạng con

Sử dụng lệnh 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

Ở đây tại điểm 2, tôi có wlan0thiết bị. Nó nói inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0, địa chỉ IP : 192.168.3.66, mặt nạ mạng con : 24. ID mạng là 192.168.3.0, chỉ cần thay thế số cuối bằng 0.

Hay như người đàn ông nmapnói:

sudo nmap -sn 192.168.1.0/24

Đây là một trích dẫn nhỏ từ trang man, nmap (1) :

-sn (No port scan)

Tùy chọn này yêu cầu Nmap không thực hiện quét cổng sau khi phát hiện máy chủ và chỉ in ra các máy chủ có sẵn đã phản hồi quét. Điều này thường được biết đến như là một trò chơi ping ping quét, nhưng bạn cũng có thể yêu cầu các tập lệnh lưu trữ traceroute và NSE được chạy.

Điều này theo mặc định là một bước xâm nhập hơn so với quét danh sách và thường có thể được sử dụng cho các mục đích tương tự. Nó cho phép trinh sát ánh sáng của một mạng mục tiêu mà không thu hút nhiều sự chú ý.

Biết được có bao nhiêu máy chủ lưu trữ có giá trị hơn đối với những kẻ tấn công so với danh sách được cung cấp bởi quét danh sách của mỗi địa chỉ IP và tên máy chủ.

Quản trị viên hệ thống thường thấy tùy chọn này cũng có giá trị. Nó có thể dễ dàng được sử dụng để đếm các máy có sẵn trên mạng hoặc theo dõi tình trạng sẵn có của máy chủ. Điều này thường được gọi là quét ping và đáng tin cậy hơn so với ping địa chỉ quảng bá vì nhiều máy chủ không trả lời các truy vấn phát sóng.

Phát hiện máy chủ mặc định được thực hiện -snbao gồm yêu cầu tiếng vang ICMP, TCP SYN tới cổng 443, TCP ACK đến cổng 80 và yêu cầu dấu thời gian ICMP theo mặc định.

Khi được thực thi bởi người dùng không có đặc quyền, chỉ các gói SYN được gửi (sử dụng connectcuộc gọi) đến các cổng 80 và 443 trên mục tiêu.

Khi người dùng đặc quyền cố gắng quét các mục tiêu trên mạng ethernet cục bộ, các yêu cầu ARP được sử dụng trừ khi --send-ipđược chỉ định. Các -sntùy chọn có thể được kết hợp với bất kỳ các loại đầu dò phát hiện (các -P*tùy chọn, không bao gồm -Pn) cho linh hoạt hơn.

Nếu bất kỳ tùy chọn loại đầu dò và số cổng nào được sử dụng, các đầu dò mặc định sẽ bị ghi đè. Khi tường lửa nghiêm ngặt được đặt giữa máy chủ nguồn đang chạy Nmap và mạng đích, nên sử dụng các kỹ thuật nâng cao đó. Nếu không, máy chủ có thể bị bỏ lỡ khi tường lửa giảm đầu dò hoặc phản hồi của chúng.

Trong các bản phát hành trước của Nmap, -snđược gọi là -sP.


Nó không hoạt động
Maythux

4
Điều này sẽ cần phải được điều chỉnh để 192.168.1.0/24được thay đổi thành dải địa chỉ IP của người dùng.
kiri

@ minerz029 Chắc chắn tôi đã thay đổi IP
Maythux

Tôi không biết đó có phải là lý do không, nhưng trên Linux tôi sử dụng nmap -sP 192.168.1.0/24để quét ping.
tiktak

2
Bạn có biết tại sao quyền riêng tư được yêu cầu để đọc địa chỉ MAC từ mạng không?
Michael Aquilina

45

arpsẽ từ từ trả về cho bạn một danh sách các địa chỉ MAC và IP đang hoạt động hoặc tên máy chủ của chúng nếu chúng có. Nếu bạn muốn nó đi nhanh hơn, bạn có thể sử dụng arp -nnên bỏ qua phần tra cứu DNS. Nếu bạn cần phân tích nó thành một cái gì đó arp -ansẽ bỏ qua các cột chiều rộng cố định.

$ 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

Nếu không, bộ định tuyến của bạn sẽ có thể cung cấp cho bạn ý tưởng về các thiết bị hoạt động (hầu hết làm).


Chỉnh sửa bình luận của Per davidcl, câu trả lời này không hoàn hảo như tôi mong đợi.

arpdựa vào liên hệ trước đây của một số loại để làm việc. Tuy nhiên, theo tôi, các thiết bị hiện đại đều rất đáng nói (bạn thực sự nên xem wireshark - đó là một nền giáo dục) ở cấp độ phát sóng mà không chắc là thiết bị sẽ có mặt trên mạng mà không ít nhất là trả lời phát sóng. (Để chắc chắn bạn có thể ping tất cả các thiết bị trên mạng với 10.10.0.255 trước và sau đó bạn có thể sẽ nhận được hơn 90% thiết bị.)

Để cung cấp cho bạn một số ý tưởng về những gì tôi muốn nói, 10.10.0.16 ở trên là PVR của chúng tôi. Không có tương tác trực tiếp giữa PC của tôi và PVR và không có bất kỳ dịch vụ nào chạy trên PVR (cũng không có UPNP / DLNA).

Chỉ cần chơi qua tranh luận một cách nhanh chóng ...

  • Nhưng những gì về tin tặc trong mạng của tôi ?! 1
    Họ cũng có thể chặn ping ICMP. Họ có thể chặn tất cả các phản hồi cho mọi loại quét.
  • Ồ nhưng chắc chắn nmapvẫn là giải pháp tốt nhất có thể
    Khi chạy ở đây, nó vẫn bỏ lỡ bốn thiết bị. Bốn thiết bị đang hoạt động trên mạng. Hoặc là họ không trả lời ping hoặc nmap sẽ không đợi họ đủ lâu để trả lời ... Tôi không biết. nmaplà một công cụ tuyệt vời (đặc biệt là quét cổng mà bạn có thể muốn làm tiếp theo) nhưng nó vẫn hơi vụng về (và hơi chậm) cho vấn đề này. Và đừng gọi tôi là Shirley.

1
NẾU tôi thay đổi MAC ID của mình bằng mac changer, nó có thể hiển thị bản gốc không?
rɑːdʒɑ

2
@BYEAskUbfox nếu bạn sử dụng bộ thay đổi MAC, MAC của bạn là thứ bạn đặt. Đối với tất cả người dùng mạng, nguồn gốc của nó thường không xác định, vì vậy không, không thể.
Ruslan

3
@Ruslan Điều đó chỉ khiến tôi hoang mang họ ... Tôi chắc chắn sẽ rất khó để một cá nhân làm bất cứ điều gì với họ nhưng bạn không bao giờ biết ai đang theo dõi bạn.
Oli

9
Tôi ngạc nhiên với câu trả lời này. "arp" không hiển thị danh sách các địa chỉ MAC đang hoạt động trên mạng cục bộ. "arp" hiển thị danh sách các địa chỉ MAC tương ứng với các máy đã tương tác với máy đang chạy. Nếu gần đây không có liên lạc giữa máy cục bộ và máy khác trên mạng, máy đó sẽ không hiển thị trong danh sách "arp".
davidcl

5
Tôi vừa thực hiện một thử nghiệm nhanh trên mạng của mình và arp chỉ hiển thị khoảng 25% thiết bị tồn tại. Nếu máy tính đang chạy arp không nhận được gói từ thiết bị khác, nó sẽ không nằm trong danh sách arp. Tôi muốn biết thêm về các thiết bị mà nmap không phát hiện được trên mạng của bạn; có nhiều cách để ẩn nmap nhưng tôi thấy quét nmap mặc định khá hiệu quả. Điều đó nói rằng, không có câu trả lời không an toàn vì nếu một thiết bị không tạo ra lưu lượng truy cập và không trả lời các yêu cầu, thì nó là vô hình - nhưng hầu hết các thiết bị sẽ trả lời một số loại yêu cầu.
davidcl

37

Tôi sử dụng arp-scancho việc này:

$ 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
Nếu bạn muốn chỉ định giao diện mạng, như không dây, thì hãy sử dụng lệnh nàysudo arp-scan -l -I wlan0
HarlemSquirrel

Vâng, arp-scan thực sự là "công cụ tốt nhất cho công việc".
mivk

Điều này không hiệu quả với tôi ... thiết bị không phản hồi vì một số lý do.
Andrew Wagner

để làm cho arp-scan hoạt động tôi phải làm brew install arp-scantrong OSX El Capitan.
jamescampbell

17

Bạn có thể sử dụng arp-scan.

Cài đặt bằng lệnh này:

sudo apt-get install arp-scan

Để liệt kê tất cả các địa chỉ IP và địa chỉ MAC liên quan, sử dụng:

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

Đầu ra sẽ như thế này:

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
Đây không phải là tìm một thiết bị chưa có ip ...
Andrew Wagner

9

GUI

Bạn có thể thử avahi-khám pháCài đặt avahi-khám phá .

  1. Cài đặt nó bằng lệnh này (hoặc bằng cách nhấp vào liên kết ở trên):

    sudo apt-get install avahi-discover
    
  2. Chạy Avahi Zeroconf Browser hoặc avahi-discovertừ thiết bị đầu cuối.
  3. Bạn sẽ thấy một cửa sổ với danh sách các thiết bị trên mạng cục bộ của bạn.
    Địa chỉ MAC sẽ là chuỗi trong ngoặc vuông.

Dòng lệnh

Bạn có thể sử dụng lệnh này trong một thiết bị đầu cuối:

avahi-browse -a -t -d local

Nó được cài đặt theo mặc định.


1
Điều này có hoạt động để hiển thị địa chỉ MAC của máy không chạy bất kỳ dịch vụ nào không?
Eliah Kagan

3
Trong trường hợp của tôi, điều này không hoạt động cho mọi thiết bị trên mạng. Nó khá là gọn gàng, nhưng nó sẽ không hiển thị các khách hàng câm mà không có dịch vụ avahi / upnp.
Oli

5
  1. Trước tiên hãy quét mạng để xem máy chủ nào có thể truy cập / trực tuyến bằng cách sử dụng nmap -sn 1.2.3.4/24hoặcfping -g 1.2.3.4/24

  2. Sau đó truy vấn địa chỉ MAC tương ứng với địa chỉ IP bằng cách sử dụng arping. Mã giả phía trước:

    for i in $(cat list-of-reachable-hosts)
    do 
        arping $i
    done
    
  3. Cheatery: tham khảo arp-cache của bộ chuyển mạch cục bộ của bạn; điều đó sẽ cung cấp cho bạn một cái nhìn tổng quan tốt đẹp ...


3

Trong trường hợp giao thức NetBIOS được hỗ trợ, tôi thích sử dụng

nbtscan 192.168.1.1-192.168.1.255.


5
Điều này chỉ phát hiện các máy khách hỗ trợ giao thức NetBIOS (Windows và Linux + Samba).
Eric Carvalho

2

Tôi đã bị thu hút bởi bài viết này. Tôi đã có nhu cầu này.

Tôi đã viết một kịch bản shell phân tích cú pháp arpđầu ra bằng cách sử dụng các awkcâu lệnh và tạo đầu ra HTML. Nếu bạn thực thi tập lệnh và chuyển hướng đầu ra sang tệp HTML, bạn sẽ để lại một tệp HTML hiển thị IP, địa chỉ MAC đầy đủ và liên kết đến trang tra cứu IEEE OUI. Điều này giúp xác định máy khách bằng cách của nhà sản xuất 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"

Nó giúp thực hiện nmapquét trên mạng LAN của bạn trước để bạn có các mục trong bảng ARP. Hy vọng các định dạng dịch. Bạn có thể tạo điều này để có văn bản ở định dạng bảng.


2

Sau khi làm việc và tìm kiếm, tôi đã phát hiện ra lệnh này:

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

nmap: Công cụ thăm dò mạng và bảo mật / quét cổng

-sP(Bỏ qua quét cổng). Tùy chọn này yêu cầu Nmap không thực hiện quét cổng sau khi phát hiện máy chủ và chỉ in ra các máy chủ có sẵn đã phản hồi quét. Điều này thường được biết đến như là một trò chơi ping ping quét, nhưng bạn cũng có thể yêu cầu các tập lệnh lưu trữ traceroute và NSE được chạy. Điều này theo mặc định là một bước xâm nhập hơn so với quét danh sách và thường có thể được sử dụng cho các mục đích tương tự. Nó cho phép trinh sát ánh sáng của một mạng mục tiêu mà không thu hút nhiều sự chú ý. Biết được có bao nhiêu máy chủ lưu trữ có giá trị hơn đối với những kẻ tấn công so với danh sách được cung cấp bởi quét danh sách của mỗi IP và tên máy chủ.

-PE; -PP; -PM (Các loại Ping ICMP). Ngoài các loại phát hiện máy chủ TCP, UDP và SCTP bất thường đã thảo luận trước đây, Nmap có thể gửi các gói tiêu chuẩn được gửi bởi chương trình ping phổ biến. Nmap gửi gói ICMP loại 8 (yêu cầu tiếng vang) đến các địa chỉ IP đích, mong đợi loại 0 (phản hồi tiếng vang) trả lại từ các máy chủ có sẵn .. Thật không may cho các nhà thám hiểm mạng, nhiều máy chủ và tường lửa hiện chặn các gói này, thay vì trả lời như được yêu cầu bởi RFC 1122 [2]. Vì lý do này, các lần quét chỉ ICMP hiếm khi đủ tin cậy để chống lại các mục tiêu không xác định qua Internet. Nhưng đối với các quản trị viên hệ thống giám sát một mạng nội bộ, chúng có thể là một cách tiếp cận thực tế và hiệu quả. Sử dụng tùy chọn -PE để kích hoạt hành vi yêu cầu tiếng vang này.

-A(Tùy chọn quét tích cực). Tùy chọn này cho phép các tùy chọn nâng cao và tích cực hơn.

21,23,80,3389 Cổng để tìm kiếm thông qua

192.168.1.* Phạm vi của IP. thay thế bằng của bạn



0

bạn có thể sử dụng arp.

Điều này sẽ cho bạn thấy MAC và IP ..


Điều này chỉ hoạt động đối với những thiết bị đã được kết nối (ví dụ: bằng ping).
Peter Mortensen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.