Làm thế nào để tìm tên máy chủ từ IP mà không cần đăng nhập vào máy chủ


128

tôi cần tìm tên máy chủ của máy chủ UNIX có IP được biết với đăng nhập vào máy chủ UNIX đó


19
NBTSTAT -A 10.10.10.10 cho các cửa sổ
Kanagavelu Sugumar

2
Bạn có bao giờ chấp nhận một câu trả lời?
Paolo Stefan

2
@PaoloStefan nếu người dùng được nhìn thấy lần cuối vào năm 2009 thì đó là một sự kiện rất khó xảy ra
Boris Treukhov

Câu trả lời:


163

Sử dụng nslookup

nslookup 208.77.188.166 
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa     name = www.example.com.

2
trên cài đặt centos, bạn sẽ cần chạy sudo yum install bind-utilstrước. cái này sẽ cài đặt tra cứu nslookup cho bạn
lfender6445

nslookup bị phản đối Thay vào đó, bạn có thể sử dụng 'đào' hoặc 'chủ nhà'
P. Barbadew

74

Bạn cũng có thể thực hiện tra cứu DNS ngược host. Chỉ cần cung cấp cho nó địa chỉ IP làm đối số:

$ host 192.168.0.10
server10 has address 192.168.0.10

43

Một tiện ích tra cứu NS khác có thể được sử dụng để tra cứu đảo ngược là digvới -xtùy chọn:

$ dig -x 72.51.34.34

; <<>> DiG 9.9.2-P1 <<>> -x 72.51.34.34
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12770
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1460
;; QUESTION SECTION:
;34.34.51.72.in-addr.arpa.      IN      PTR

;; ANSWER SECTION:
34.34.51.72.in-addr.arpa. 42652 IN      PTR     sb.lwn.net.

;; Query time: 4 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:40 2013
;; MSG SIZE  rcvd: 77

hoặc là

$ dig -x 127.0.0.1

; <<>> DiG 9.9.2-P1 <<>> -x 127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11689
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa.                IN      PTR

;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 10      IN      PTR     localhost.

;; Query time: 2 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:49 2013
;; MSG SIZE  rcvd: 63

Trích dẫn từ trang web đào :

Tra cứu ngược - ánh xạ địa chỉ thành tên - được đơn giản hóa bằng tùy chọn -x . addr là một địa chỉ IPv4 theo ký hiệu thập phân rải rác hoặc địa chỉ IPv6 được phân cách bằng dấu hai chấm. Khi tùy chọn này được sử dụng, không cần cung cấp các đối số tên, lớp và kiểu. đào tự động thực hiện tìm kiếm một tên như 11.12.13.10.in-addr.arpa và đặt loại truy vấn và lớp tương ứng thành PTR và IN.



17
  • Đối với Windows, hãy thử:

    NBTSTAT -A 10.100.3.104
    

    hoặc là

    ping -a 10.100.3.104
    
  • Đối với Linux, hãy thử:

    nmblookup -A 10.100.3.104
    

Chúng gần như giống nhau.


2
nmblookup hoạt động rất tốt, tôi đã không cố gắng tìm tên máy chủ của máy chủ web, nhưng máy tính đang làm những việc họ không nên làm. Điều này tiếp xúc không chỉ với Tên máy chủ Windows, mà cả địa chỉ Mac, tiếp theo trong danh sách của tôi!
FreeSoftwareServers

9
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"

nếu bạn chỉ cần tên, không có thông tin bổ sung, hãy thêm [0] vào cuối:

python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"

Nó nói, cú pháp tô sáng ổ cắm không hợp lệ.
Sandeep Roy

1
cho python3 thay đổi in thành một hàm với dấu ngoặc đơn:python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
Corey Goldberg

7

Nó phụ thuộc vào ngữ cảnh. Tôi nghĩ rằng bạn đang đề cập đến tên máy chủ của hệ điều hành (được trả về hostnamekhi bạn đăng nhập). Lệnh này chỉ dành cho tên nội bộ , vì vậy để truy vấn tên máy đòi hỏi các hệ thống đặt tên khác nhau. Có nhiều hệ thống sử dụng tên để xác định máy chủ bao gồm DNS, DHCP, LDAP (DN) hostname, v.v. và nhiều hệ thống sử dụng zeroconf để đồng bộ hóa tên giữa nhiều hệ thống đặt tên. Vì lý do này, kết quả từ hostnameđôi khi sẽ khớp với kết quả từ dig(xem bên dưới) hoặc các hệ thống đặt tên khác, nhưng thường thì chúng sẽ không khớp.

DNS là phổ biến nhất và được sử dụng cả trên internet (như google.com. A 216.58.218.142) và tại nhà (mDNS / LLMNR), vì vậy đây là cách thực hiện tra cứu DNS ngược : dig -x <address>( nslookuphostđơn giản hơn, cung cấp ít chi tiết hơn và thậm chí có thể trả về khác nhau kết quả, tuy nhiên, digkhông được bao gồm trong Windows).

Lưu ý rằng tên máy chủ trong CDN sẽ không phân giải thành tên miền chính tắc (ví dụ: "google.com"), mà là tên máy chủ của IP máy chủ bạn đã truy vấn (ví dụ: "dfw25s08-in-f142.1e100.net"; tidbit thú vị: 1e100 là 1 googol).

Cũng lưu ý rằng máy chủ DNS có thể có nhiều hơn một tên. Điều này là phổ biến đối với các máy chủ có nhiều hơn một máy chủ web (lưu trữ ảo), mặc dù điều này đang trở nên ít phổ biến hơn nhờ sự phát triển của các công nghệ ảo hóa. Những máy chủ này có nhiều bản ghi DNS PTR .

Cuối cùng, lưu ý rằng các bản ghi máy chủ DNS có thể bị ghi đè bởi máy cục bộ thông qua / etc / hosts . Nếu bạn không nhận được tên máy chủ mà bạn mong đợi, hãy chắc chắn rằng bạn đã kiểm tra tệp này.

Tên máy chủ DHCP được truy vấn khác nhau tùy thuộc vào phần mềm máy chủ DHCP nào được sử dụng, bởi vì (theo như tôi biết) giao thức không xác định phương thức truy vấn; tuy nhiên, hầu hết các máy chủ cung cấp một số cách để thực hiện việc này (thường là với tài khoản đặc quyền).

Lưu ý Tên DHCP thường được đồng bộ hóa với (các) máy chủ DNS, do đó, thường thấy các tên máy chủ tương tự trong bảng tối thiểu của máy khách DHCP và trong các bản ghi A (hoặc AAAA cho IPv6) của máy chủ DNS. Một lần nữa, điều này thường được thực hiện như một phần của zeroconf.

Cũng lưu ý rằng chỉ vì thuê DHCP tồn tại cho khách hàng, không có nghĩa là nó vẫn đang được sử dụng.

NetBIOS cho TCP / IP (NBT) đã được sử dụng trong nhiều thập kỷ để thực hiện phân giải tên, nhưng sau đó đã được thay thế bằng LLMNR để phân giải tên (một phần của zeroconf trên Windows). Hệ thống kế thừa này vẫn có thể được truy vấn bằng nbtstat(Windows) hoặc nmblookup(Linux).


@John Syrinek Bạn có thể giải thích về truy vấn tên máy chủ DHCP không? Tôi muốn truy vấn tên máy chủ của một máy khác (trong cùng wlan) bằng IP, điều này có khả thi không?
ruồi

2

Các câu trả lời khác ở đây là chính xác - sử dụng tra cứu DNS ngược. Nếu bạn muốn làm điều đó thông qua ngôn ngữ kịch bản (Python, Perl), bạn có thể sử dụng API gethostbyaddr.


0

Nếu bạn đặc biệt tìm kiếm một máy Windows, hãy thử lệnh dưới đây:

nbtstat -a 10.228.42.57


-1

Trong hầu hết các trường hợp, lệnh traceroute hoạt động tốt. lệnh nslookup và host có thể thất bại.


4
Điều này là sai: được cung cấp một IP, điều duy nhất cần làm là truy vấn ngược lại DNS. Do đó, theo dõi nó không phải là công cụ chính xác để đề xuất.
Ottavio Campana
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.