Làm cách nào để tìm tên máy tính trong mạng LAN từ địa chỉ IP?


54

Mạng của tôi bao gồm các máy chạy Linux và các máy khác chạy Windows. Và máy của tôi đang chạy Linux.


2
Câu hỏi hơi không rõ ràng, dẫn đến các câu trả lời khác nhau - và tốt - bên dưới. Bạn có muốn tìm tên DNS của máy chủ không? Bạn có muốn tìm tên THẮNG? Bạn có muốn tìm kiếm mạng cho tất cả các máy chủ được tìm thấy? Tất cả những câu hỏi này đều được trả lời - nhưng câu trả lời cụ thể mong muốn vẫn chưa được biết.
Mei

Câu trả lời:


35

Nhập vào thiết bị đầu cuối

arp -a

Nó sẽ hiển thị tất cả tên máy chủ trong mạng LAN cho dù đó là Linux hay Windows.


14
Điều này không cho thấy gì trên mạng cục bộ của tôi có hơn 30 máy Linux ...
Cerin

@Cerin Bạn có trên máy Linux không?
Sawash Shashank

1
Trên Ubuntu 14.04, thông báo: "? (192.168.1.2) lúc 00: 22: 6b: f2: 33: b3 [ether] trên wlan0", chỉ cung cấp cho tôi thông tin về bộ định tuyến của tôi (máy tính xách tay của tôi được kết nối với nó qua wifi, như khoảng 10 thiết bị khác atm). Nhìn vào man arp nó cũng nói "arp - thao túng bộ đệm ARP của hệ thống". Làm thế nào công cụ này nên giải quyết câu hỏi ban đầu?
gerlos

5
Tương tự ở đây trên Ubuntu 14.04, cái này chỉ liệt kê một loạt? (192.168.55.147) at ac:3a:7a:a4:01:d4 [ether] on eth0
Elijah Lynn

2
Tương tự ở đây. Tôi chỉ có thể truy cập localhost theo tên máy chủ, dường như không có gì khác để quảng cáo tên máy chủ đó, ngay cả các máy linux tôi đã tự thiết lập.
unfa

19

Nhập vào thiết bị đầu cuối

sudo aptitude install nmap
nmap -sP xxx.xxx.xxx.xxx

Điều này sẽ cung cấp cho bạn:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-11-03 19:08 CET
Nmap scan report for HOST.DOMAIN (xxx.xxx.xxx.xxx)
Host is up (0.00052s latency).
MAC Address: YY:YY:YY:YY:YY:YY (Manufactor)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

Trong đó HOST.DOMAIN là tên DNS của máy.


10
Điều này cho thấy tất cả các IP hoạt động, nhưng nó chỉ hiển thị các miền cho các máy có tên miền tùy chỉnh được cấu hình trong máy chủ Bind cục bộ của tôi. Nó không hiển thị bất kỳ tên máy chủ địa phương nào, mà tôi nghĩ là những gì OP đang cố gắng thực hiện.
Cerin

Câu trả lời này rất nhanh.
kích hoạt vào

4
-sP có thể đã được thay đổi thành -sn tùy thuộc vào phiên bản nmap của bạn. Từ hướng dẫn sử dụng nmap 7.12: -sn (Không quét cổng) Trong các bản phát hành trước của Nmap, -sn được gọi là -sP.
Lemmings19

Tương tự như arplệnh, tôi tin rằng câu trả lời này chỉ hoạt động nếu bạn có máy chủ DHCP và máy chủ DNS / proxy cục bộ liên lạc với nhau, do đó tên máy chủ được ghi bằng thuê DHCP có thể được giải quyết (hoặc giải quyết ngược lại, trong trường hợp này ) qua DNS.
Doktor J

9

Nếu bạn thử điều này:

Bạn có thể chạy nó trong windows

nbtstat -A xxx.xxx.xxx.xxx (where x is the ip address)

trên Ubuntu bạn có thể cài đặt nbtscan. Bạn có thể tìm thêm thông tin ở đây: http://www.unixwiz.net/tools/nbtscan.html

Hy vọng nó giúp


Cảm ơn rất nhiều, nhưng có vẻ như nbtscan chỉ phát hiện các máy chạy Windows. Tôi có 2 máy chạy Windows và 2 máy khác chạy Linux. Nó chỉ phát hiện hai Windows đang chạy.
Hồi giáo Hassan

2
bạn có thể thử nmblookup không? nó nên được cài đặt trên Ubuntu
Brett

Xin lỗi, tôi đã đọc hướng dẫn nhưng không thể tìm ra cách viết lệnh giải quyết vấn đề của tôi. Tôi không thể thấy các tùy chọn lấy IP làm đầu vào. Bạn có thể viết lệnh cho tôi xin vui lòng?
Hồi giáo Hassan

6
hãy thử nmblookup -A xxx.xxx.xx trong đó x là địa chỉ IP của máy. Vì vậy, tôi sẽ thực hiện nmblookup -A 192.168.1.6 và nó sẽ trả lại tên của máy tôi. Bạn sẽ cần phải làm điều đó cho mỗi máy.
Brett

1
@Brett: (+1) bạn nên chuyển nhận xét của mình thành câu trả lời, vì đây là phương pháp duy nhất phù hợp với tôi (cả cửa sổ và hộp linux). Cảm ơn
lepe

7

Một tra cứu ngược tên Netbios có thể thực hiện những gì bạn muốn nhiều hơn "tên máy chủ" là một chức năng của DNS và tcp / ip. nmblookup với tham số -A trả về tên thiết bị cũng như địa chỉ mac. Hãy thử một cái gì đó như thế này:

nmblookup -A 192.168.1.2

Đây là câu trả lời phù hợp với tôi
humphrey

Đó là câu trả lời.
Campa

3

Nếu mạng của bạn đang chạy máy chủ DHCP, thường là trên modem / bộ định tuyến, rất có thể nó sẽ có cách để bạn xem các địa chỉ được gán DHCP - thường bởi một trang web và thường liệt kê tên máy tính bên cạnh các địa chỉ IP được phân bổ .


2

Tôi chỉ sử dụng

nslookup xxx.xxx.xxx.xxx

nó sẽ hiển thị cho tôi tên máy chủ (thường là tên máy tính)


4
Điều này chỉ giúp tôi** server can't find xxx.xxx.xxx.xxx.in-addr.arpa.: NXDOMAIN
Cerin

làm việc cho tôi :)
vk.edward.li

2
nslookup thực hiện tìm kiếm DNS, vì vậy để nó hoạt động, bạn cần các máy chủ được đăng ký trong DNS. Nếu bạn có mạng Windows thông thường, trong dải IP riêng, không có cấu hình ActiveDirectory, nó sẽ không hoạt động. Tên NetBios và tên DNS là những con thú khác nhau.
bogdan.mustiata

1

Theo hiểu biết tốt nhất của tôi, không có tiện ích nào có sẵn để phân giải địa chỉ IP thành tên NetBIOS. Tôi tưởng tượng rằng một số loại chương trình phạm vi mạng hoặc chương trình kiểm tra thâm nhập có thể có thể cung cấp cho bạn thông tin đó. Tuy nhiên, tất cả các máy tính sẽ phải nằm trên cùng một tên miền và mạng con.


Bạn có thể đặt tên cho một chương trình xin vui lòng?
Hồi giáo Hassan

1
OP muốn điều ngược lại. ví dụ: IP-> tên máy chủ
Cerin

Tôi biết điều này đã cũ ... và OP đang sử dụng Linux, không phải Windows ... nhưng trên Windows, bạn có thể chạy nbtstat -A <IP Address>để lấy tên NetBIOS từ IP. Điều này hoạt động trên các mạng con và không cần phải ở trong cùng một miền. Ngoài ra, chạy nbtstat -a <NetBIOS Name>sẽ làm ngược lại. Hy vọng điều này sẽ giúp ...
John Homer
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.