Tôi có thể sử dụng nmap để khám phá địa chỉ IP và mac không?


11

Khi tôi cần xác định vị trí IP của thiết bị theo địa chỉ mac của chúng trên hệ thống Windows, tôi thường sử dụng Advanced IP Scanner (từ radmin.com) để quét mạng, sau đó tôi sử dụng arp -a để liệt kê các địa chỉ mac.

Có thể sử dụng nmap để thực hiện chức năng tương tự trong Linux và có thể trong Windows không? Có thể nmap để quét và tạo cả địa chỉ IP và MAC không?

Tôi đã thử arp -a trong Linux nhưng có vẻ như nó không hoạt động nhanh như trong Windows hoặc dường như yêu cầu một số đầu vào sử dụng.

/ vfclists


nmap -sP 192.168.1.1/24
Iraklis

Câu trả lời:


6

Bạn có thể sử dụng quét Ping, bắt đầu bằng cờ P. Tuy nhiên, cá nhân tôi sử dụng -sL cho công việc này.

http://nmap.org/book/man-host-discovery.html


5
+1 Tôi cũng sử dụng -sP. Nhưng chú ý, để có thể nhận được địa chỉ mac, bạn phải ở trên cùng một lan (không có bộ định tuyến ở giữa).
PiL

1
Tôi đã thử nghiệm với tùy chọn -sP và đó chính xác là những gì tôi đang tìm kiếm, nhờ có Pier và Iraklis. Nó là để quét các mục nhận IP của chúng thông qua DHCP hoặc tĩnh trong mạng cục bộ.
vfclists

13

Sử dụng nmap rất nhiều thông tin có thể được tìm thấy ..

nmap -A -v -v 192.168.1.0/24 cung cấp rất nhiều thông tin, thậm chí SO trong một số trường hợp

nmap -sn 192.168.1.0/24cung cấp địa chỉ MAC và IP. Cũng rất hữu ích

sudo nmap -PU 192.168.1.0/24 giải thích mọi địa chỉ IP


5
Theo trang người đàn ông nmap, -sPhiện được gọi là-sn
Alastair McCormack

8

Lệnh sau với nmap với đặc quyền gốc (hoặc sử dụng sudo ):

sudo nmap -sP 172.31.201.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "$3;}' | sort

kết quả trong:

172.31.201.80 => 00:50:56:AF:56:FB
172.31.201.97 => 00:26:73:78:51:42
server1.company.internal.local => 3C:D9:2B:70:BC:99
...

1
Dòng keo này rất nhiều. Câu trả lời khác là tốt hơn: serverfault.com/a/669862/284568 .
Velkan

2
@Velkan Câu trả lời khác là thiếu sudo và cũng chỉ cung cấp cho tôi IP: MAC, câu trả lời này cung cấp cho bạn IP / tên máy chủ: MAC, mọi thứ phụ thuộc vào nhu cầu của bạn. Cảm ơn!
Antonio Saco

Cảm ơn đã làm rõ rằng nó cần quyền root.
mszmurlo

7

Lệnh này quét tất cả các địa chỉ IP trong một phạm vi và hiển thị địa chỉ MAC của từng địa chỉ IP. Nó thực hiện điều này trong một định dạng có thể greppable, hoặc nói cách khác; hiển thị địa chỉ IP và MAC trên một dòng. Đó là tiện dụng nếu bạn muốn xuất sang Excel hoặc chạy một grep trên nó.

nmap -n -sP 10.0.3.0/24 | awk '/Nmap scan report/{printf $5;printf " ";getline;getline;print $3;}'

Nó dường như cũng hoạt động cho IP / MAC chưa có trong bảng ARP của máy chủ. Đó là một điều tốt.

Lệnh kết quả trong:

10.0.3.100 B8:27:EB:8E:C5:51
10.0.3.101 00:26:B6:E1:4B:EB
10.0.3.112 00:01:29:02:55:25
etc..

Để tham khảo trong tương lai, -oG -hoặc tương tự nên dễ dàng hơn để phân tích cú pháp.
Duncan X Simpson

Hóa ra, tại hợp đồng thuê -oGkhông bảo toàn địa chỉ mac. Wtf?
Duncan X Simpson

0

Thêm vào phản ứng của antonio-saco. Tôi cũng muốn liệt kê các nhà cung cấp cũng như đầu ra. Để làm điều đó bạn muốn in chỉ mục thứ 3 (địa chỉ MAC) đến cuối dòng.

sudo nmap -sn 10.10.10.0/24 | awk '/Nmap scan report for/{printf $5;}/MAC Address:/{print " => "substr($0, index($0,$3)) }' | sort

Kết quả trong:

10.10.10.24 => B0:5A:DA:EB:2A:C4 (Hewlett Packard)
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.