Tiện ích dòng lệnh trong Windows để thực hiện tra cứu DNS ngược là gì?


246

Có một công cụ dòng lệnh tích hợp nào sẽ thực hiện tra cứu DNS ngược trong Windows không? Tức là một cái gì đó như<toolname> w.x.y.z => mycomputername

Tôi đã thử:

  • nslookup: dường như chỉ nhìn về phía trước.
  • host: không tồn tại
  • dig: cũng không tồn tại.

Tôi đã tìm thấy " Tiện ích dòng lệnh DNS ngược là gì? " Thông qua một tìm kiếm, nhưng điều này đặc biệt tìm kiếm tiện ích * nix, không phải là tiện ích Windows.


5
Câu hỏi này nên được chỉnh sửa để nói rằng nó không thực sự tìm kiếm một giải pháp dành riêng cho DNS. Các câu trả lời bị từ chối cung cấp câu trả lời đó, nhưng vấn đề là bạn thực sự cần thứ gì đó tìm kiếm tên NetBIOS chứ không phải DNS.
Barmar

Câu trả lời:


237
ping -a w.x.y.z

Nên giải quyết tên từ địa chỉ IP nếu vùng tra cứu ngược đã được thiết lập đúng. Nếu vùng tra cứu ngược không có mục nhập cho bản ghi, thì -asẽ chỉ ping mà không có tên.


3
Điều này hoạt động tốt hơn nslookup vì máy xung đột nằm trên một miền khác. Cảm ơn rất nhiều!
alastairs

4
trong nslookup bạn cũng có thể thử: set type = PTR <enter> wxyz <enter>
Peter

2
@abstrask có câu trả lời đầy đủ nhất
vinnyjames 18/11/13

7
Điều này hoạt động , nhưng nó thực sự là công cụ sai cho công việc. Ping được sử dụng để đo độ trễ của mạng, nó thực hiện tra cứu tên (hoặc IP) giống như một tác dụng phụ của mục đích chính của nó.
Massimo

3
@ Massimo - đưa ra các ràng buộc của câu hỏi ban đầu, bạn sẽ đề nghị gì thay thế? Ping sẽ phân giải tên DNS & netbios làm cho nó trở thành một công cụ tốt đầu tiên nếu bạn chỉ cần một cái gì đó nhanh chóng.
Peter

114
nslookup <ip>

Liệu những gì bạn đang tìm kiếm. Nó sẽ cho bạn biết máy chủ bạn đang truy vấn và kết quả.

Ví dụ:

c:\>nslookup 192.168.101.39
Server: dns1.local
Address: 192.168.101.24

Name: enigma.local
Address: 192.168.101.39

7
Điều này đã thất bại với một thông báo "<DC> không thể tìm thấy wxyz: Miền không tồn tại" và tôi không thể hiểu tại sao. Tôi đã thử câu trả lời của @ Peter và thấy máy xung đột nằm trên một miền khác.
alastairs

7
Không thành công vì nslookup chỉ quan tâm đến DNS, trong khi tên trong Windows có thể và sẽ được giải quyết bằng các phương tiện khác nếu DNS không đủ.
Massimo

76

Vấn đề với "ping" là nó không hoàn toàn là một công cụ tra cứu máy chủ tên (như nslookup) - ví dụ nếu bạn ping tên máy chủ, nó có thể được giải quyết thành địa chỉ IP bằng một số phương thức: tra cứu DNS, tra cứu tệp máy chủ, THẮNG (thần cấm) hoặc NetBIOS phát sóng. Nó cũng có thể trả về một kết quả được lưu trữ có khả năng lỗi thời.

Thứ tự mà các phương thức được thử, tùy thuộc vào cấu hình TCP / IP của máy khách và cờ loại nút:

  • Nút B (1): Phát sóng
  • Nút P (2): Ngang hàng (chỉ THẮNG)
  • Nút M (4): Hỗn hợp (phát sóng, sau đó THẮNG)
  • Nút H (8): Kết hợp (THẮNG, sau đó phát sóng)

Để xem loại nút của máy tính hiện tại:

C:\>ipconfig /all | find "Node Type"
Node Type . . . . . . . . . . . . : Hybrid

Nếu phương pháp giải quyết không đáng lo ngại, hãy sử dụng

ping -a w.x.y.z

hoặc là

nslookup w.x.y.z

như bạn muốn Nếu bạn cần chắc chắn rằng bạn đang truy vấn máy chủ DNS của mình để biết tên chính xác, hãy sử dụng nslookup .

Xem thêm


31

Sử dụng NSLOOKUP với tham số "-type = ptr" để truy vấn địa chỉ IP, cú pháp:

nslookup -type=ptr 1.2.3.4

Sau đó, mục "in-addr.arpa" cũng được in (ngay cả khi không tìm thấy), ví dụ:

C:\Users\UserName>nslookup -type=ptr 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Non-authoritative answer:
8.8.8.8.in-addr.arpa    name = google-public-dns-a.google.com

So với đáp ứng độ trung thực thấp hơn khi sử dụng NSLOOKUP trên địa chỉ IP không có tham số loại:

C:\Users\UserName>nslookup 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Name:    google-public-dns-a.google.com
Address:  8.8.8.8

2
Nếu bạn muốn sử dụng nslookup tương tác, thì tại dấu nhắc nslookup gõ "set q = ptr" và sau đó nhập IP trên dòng tiếp theo. Nếu bạn điên rồ ở trường cũ như tôi, thì bạn đã không nhận ra rằng bạn không còn phải tìm kiếm IP ngược, như "1.0.0.127.in-addr.arpa".
Todd Wilcox

4
Không cần -type=ptrhoặc hoàn set q=ptrtoàn - nslookupđủ thông minh để lấy lại địa chỉ IP và thực hiện tra cứu ngược thay vì chuyển tiếp
tóm tắt

1
Trên thực tế, -type = ptr là cần thiết để kiểm tra tra cứu ngược thích hợp vì nó in ra một kết quả chính xác hơn so với nslookup chỉ với một địa chỉ IP. Sẽ tốt hơn nhiều khi có mục in -addr.arpa thực tế được in (cả khi không tìm thấy) để hỗ trợ gỡ lỗi hoặc chỉ cần làm rõ những gì đang diễn ra.
Tony Wall

14

nslookup sẽ thực hiện đảo ngược DNS trên windows giống như nó có thể làm điều đó trên linux.

Tất nhiên, không có mục ngược lại cho mọi địa chỉ IP


2
Điểm hay là không phải tất cả các máy chủ sẽ có bản ghi PTR được tạo cho họ
Rowland Shaw

2
Lưu ý rằng nslookup trên Linux, BSD và Windows làm những việc khác nhau và là các chương trình khác nhau.
Người tốt

1
Nếu không có PTR tồn tại, bạn có thể sử dụng IP để biết thêm thông tin ..... thăm dò không giao hàng với gió hoặc lol
nandoP

8

Sử dụng nslookup như thế này:

nslookup -type=PTR  127.0.0.1

6

Bạn có thể sử dụng lệnh NSLOOKUP tiêu chuẩn:

nslookup 123.123.123.123

Để có được kết quả, phải có một bản ghi PTR được đăng ký cho địa chỉ IP được đề cập.


5

nslookup sẽ thực hiện tra cứu ngược trong Windows.

C:\>nslookup star.slashdot.org

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

C:\>nslookup 216.34.181.48

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

4

9 câu trả lời và không ai nói làm thế nào để đảo ngược tra cứu với đào? Đó là tốt nhất

đào -x wxyz

Ngoài ra, bạn có thể thêm "+ short" để sử dụng trong các vòng lặp bash, script, v.v .... chuyển tiếp hoặc đảo ngược :)


3
Không ai đã đề cập digvì nó không giao hàng với Windows. Câu hỏi của OP thậm chí còn chỉ ra điều này.
jscott

3
dignói chung là sự cố DNS tốt nhất, tuy nhiên. Tôi nghĩ chắc chắn có một số giá trị để đề xuất một công cụ tốt hơn mặc dù nó không được phát hành cùng với Windows. (Có sẵn trong các bản dựng Windows tại isc.org/software/bind )
Håkan Lindqvist

4

Trong Windows ....

Ping tiêu chuẩn KHÔNG trả về tên máy chủ của địa chỉ IP

NSLookup có thể được sử dụng để tìm thông tin này, nếu DNS được thiết lập đúng

Thủ tục như sau:

Mở dấu nhắc DOS

NSLookup

đặt loại = ptr

A B C D

Kết quả sẽ được hiển thị với địa chỉ máy chủ DNS ngược và tên máy chủ


1

Vẫn còn một cách khác. Đảo ngược địa chỉ IP và sử dụng nslookup

nslookup -type=PTR 4.3.2.1.in-addr.arpa

để giải quyết địa chỉ 1.2.3.4


1
Bạn sẽ phải làm nslookup -type=PTR 4.3.2.1.in-addr.arpacho nó để thực sự làm việc, mặc dù.
Håkan Lindqvist

1

Nếu nslookup, dig, hostkhông tồn tại, hãy thử điều này:

getent hosts google.de | awk '{ print $1 }'

Hoạt động, ví dụ như trên các phiên bản docker AWS ec2 (thực sự không có gì được cài đặt)

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.