Giải quyết địa chỉ MAC từ địa chỉ IP trong Linux


39

Tôi cần phải viết một tập lệnh bash trong đó tôi phải tạo một tập tin chứa các chi tiết về Địa chỉ IP của máy chủ và ánh xạ của chúng với các Địa chỉ MAC tương ứng.

Có cách nào khả dĩ để tôi có thể tìm ra địa chỉ MAC của bất kỳ máy chủ (từ xa) nào khi địa chỉ IP của máy chủ khả dụng không?

Câu trả lời:


36

Nếu bạn chỉ muốn tìm ra địa chỉ MAC của một địa chỉ IP nhất định, bạn có thể sử dụng lệnh arpđể tra cứu nó, sau khi bạn đã ping hệ thống 1 lần.

Thí dụ

$ ping skinner -c 1
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_seq=1 ttl=64 time=3.09 ms

--- skinner.bubba.net ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.097/3.097/3.097/0.000 ms

Bây giờ hãy tìm trong bảng ARP:

$ arp -a
skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0

ngón tay

Nếu bạn muốn quét toàn bộ mạng LAN cho các địa chỉ MAC, bạn có thể sử dụng công cụ dòng lệnh fingđể làm như vậy. Nó thường không được cài đặt nên bạn sẽ phải tải xuống và cài đặt thủ công.

$ sudo fing 10.9.8.0/24

    ví dụ ngón tay

Sử dụng ip

Nếu bạn thấy bạn không có sẵn arphoặc fingcác lệnh, bạn có thể sử dụng lệnh của iproute2 ip neighđể xem bảng ARP của hệ thống thay thế:

$ ip neigh
192.168.1.61 dev eth0 lladdr b8:27:eb:87:74:11 REACHABLE
192.168.1.70 dev eth0 lladdr 30:b5:c2:3d:6c:37 STALE
192.168.1.95 dev eth0 lladdr f0:18:98:1d:26:e2 REACHABLE
192.168.1.2 dev eth0 lladdr 14:cc:20:d4:56:2a STALE
192.168.1.10 dev eth0 lladdr 00:22:15:91:c1:2d REACHABLE

Tài liệu tham khảo


Tôi biết đây là một câu trả lời cũ, nhưng bạn có hiểu biết sâu sắc về cách ngón tay được thực hiện không? Tôi đang cố gắng tìm hiểu về lớp mạng này và các công cụ để theo dõi nó.
akaphenom

1
@akaphenom Nếu bạn có câu hỏi mới xin vui lòng trả lời thẳng thắn, ý kiến ​​không có nghĩa cho điều đó.
slm

Nhưng không arpđược tán thành? Làm thế nào tôi có thể làm điều này với ip?
math2001

1
@ math2001 - cách đây 5 năm, tôi đã thêm một ví dụ cho thấy cách sử dụng ip.
slm

8

Bạn có thể sử dụng arplệnh:

arp -an

Nhưng bạn chỉ có thể sử dụng lệnh này trong mạng LAN, nếu bạn muốn tìm ra địa chỉ MAC của bất kỳ máy chủ từ xa nào, có thể bạn phải sử dụng một số công cụ để chụp gói giống như tcpdumpvà phân tích kết quả.


2
tcpdump(8)sẽ chỉ hiển thị cho bạn các MAC cục bộ (nghĩa là MAC của bộ định tuyến chân cuối cùng). Các tiêu đề lớp MAC của các gói đầu vào bị loại bỏ bởi bộ định tuyến và các tiêu đề mới được thêm vào gói gửi đi.
vonbrand

5

Đây là từ câu hỏi và câu trả lời của tôi trong Askubfox .

Bạn có thể sử dụng lệnh

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

nmap:Công cụ thăm dò mạng và bảo mật / máy quét cổng. Từ hướng dẫn:

-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ộ, họ 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.


-sP là dành cho "scanPing", nó cũng là -sn trong các phiên bản chưa bao giờ của nmap.
meawoppl

4

arping

arping -I <interface> -c 1 <host>

Lệnh sẽ trả về địa chỉ MAC trong phản hồi. Cái gì đó như,

$ arping -I eth0 -c1 192.168.1.2
ARPING 192.168.1.2 from 192.168.1.5 eth0
Unicast reply from 192.168.1.2 [08:01:27:38:EF:32]  0.746ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

arpingđược cung cấp bởi gói iputils-arpingtrên Debian.


arpingcũng cần được cho biết nên sử dụng giao diện nào, với -Itùy chọn này.
Stephen Kitt

Bạn có thể sử dụng arping -f để thoát sau lần trả lời đầu tiên.
Ryan Griggs
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.