NSlookup và linux Dig


5

Trên linux tôi có thể liệt kê tất cả các mục trong bảng DNS kết thúc bằng "80" bằng cách sử dụng:

dig axfr my.domain | grep 80

Làm thế nào để tôi làm điều đó với NSlookup trên windows? Tôi đã thử bắt đầu NSlookup và gõ

ls my.domain

Cung cấp cho tôi danh sách đầy đủ. Nhưng làm cách nào để lọc kết quả như sử dụng grep trên linux?

Tôi đã thử:

C:\Users\user>nslookup -ls my.domain | find "80"
*** Invalid option: ls

nhưng nó cho lỗi trên.


2
Tôi nghĩ có thể tốt hơn để viết lại câu hỏi của bạn về cách có được chức năng giống như grep trong Windows.
mtak

Câu trả lời:


5

Tôi tin rằng giải pháp thanh lịch hơn là sử dụng powershell. Nó chắc chắn tốt hơn so với sử dụng Cygwin trên máy Windows - vì một điều nó được tích hợp sẵn.

Trong Bash chúng tôi viết:

dig axfr my.domain | grep "80"

Tương đương trong Powershell sẽ là:

nslookup -ls my.domain | where {$_ -match "80"}

Hoặc thậm chí tốt hơn để sử dụng regex để đảm bảo chỉ các dòng kết thúc bằng 80sẽ được khớp:

nslookup -ls my.domain | where {$_ -match "(80)$"}

Ngoài ra, nếu bạn quan tâm đến việc chuyển vùng miền, bạn có thể thấy câu trả lời này hữu ích (và đây là dự án GitHub ).


Nó có thể tốt hơn Cygwin, nhưng Git Bash, đối với một người, không đặt tất cả sự phình to trên máy tính của bạn. Ngoài ra, bạn không cần phải cài đặt mọi gói Cygwin , chỉ những gói bạn cần.
phân chia

4

Tôi nghĩ những gì bạn đang tìm kiếm là findlệnh.

nslookup -ls my.domain | find "80"

Lưu ý rằng mặc dù không grep 80hoặc find "80"sẽ chỉ trả lại những mục kết thúc bằng 80. Cả hai sẽ trả về các mục có chứa 80 . Nếu bạn thực sự chỉ muốn các mục kết thúc bằng 80nó sẽ tốt hơn để sử dụng findstrvới /ecờ (khớp với mẫu nếu ở cuối dòng) cũng như bao gồm một giai đoạn hàng đầu (nếu không bạn có thể nhận được một cái gì đó như 10.21.37.180).

nslookup -ls my.domain | findstr /e ".80"

Bạn cũng có thể sử dụng Cygwin , đây là "một bộ lớn các công cụ GNU và Nguồn mở cung cấp chức năng tương tự như bản phân phối Linux trên Windows."

CHỈNH SỬA

Nếu nslookup -ls my.domainbạn gặp lỗi, bạn có thể thử

 echo ls my.domain | nslookup | find "80"

hoặc nếu bạn thực sự chỉ muốn những người kết thúc .80thử

 echo ls my.domain | nslookup | findstr /e ".80"

Tôi đã thử xem bài đăng được chỉnh sửa trên windows 7 nhưng nó bị lỗi. Tôi đã thử bot từ cmd và từ một phiên bản bắt đầu của nslookup.exe
u123

Phiên bản Windows nào bạn đang sử dụng?
vẽ Chapin
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.