Làm thế nào để đọc nội dung bộ đệm DNS cục bộ?


31

Tôi biết rằng trên Windows tôi có thể phát hành ipconfig /displaydnsvà tôi thấy nội dung bộ đệm của DNS cục bộ.

Làm cách nào để liệt kê nội dung bộ đệm của DNS trong Linux?

Tôi muốn nhận được càng nhiều giải pháp phân phối chéo càng tốt.


4
Theo như tôi biết, không có bộ đệm DNS nào được duy trì trên máy khách trong Linux (trình phân giải) trừ khi hệ thống đang sử dụng bộ nhớ đệm cục bộ chỉ dịch vụ dns trên máy khách.
Nikhil Mulley

Bạn luôn có /etc/hoststệp có thể chứa các mục được tạo bởi dịch vụ danh sách đen DNS.

Câu trả lời:


15

Trước systemdđó, hầu như không có bộ nhớ cache DNS cấp hệ điều hành

Trước systemdđó không có bộ nhớ cache DNS cấp hệ điều hành trên Linux (và có lẽ là hầu hết Unix), trừ khi nscdhoặc dnsmasqđã được cài đặt và chạy.

Thậm chí sau đó, tính năng bộ nhớ đệm DNS của nscdđã bị tắt theo mặc định trong Debian, đơn giản là vì nó bị hỏng .

Theo mặc định dnsmasq, bộ nhớ đệm dường như xảy ra trong RAM theo mặc định.


2
Rất nhiều hệ thống ngày nay sử dụng dnsmasqtheo mặc định để unix.stackexchange.com/q/162973/79839 có thể hữu ích.
gà con

1
những ngày này , mọi thứ sử dụng systemdcó thể sẽ systemd-resolvedchạy theo mặc định, bộ nhớ cache này cho kết quả DNS dựa trên TTL
vẽ

9

nscdlà tên dịch vụ bộ nhớ đệm Daemon. Đây là tiện ích mà Linux, Solaris và các ứng dụng khác sử dụng để lưu trữ dịch vụ tra cứu tên. Dịch vụ tên trong trường hợp này là một thuật ngữ chung, không giới hạn nghiêm ngặt đối với độ phân giải máy chủ, mà cả người dùng, nhóm, v.v.

Tôi không biết cách để xem nội dung thực tế của bộ đệm, mặc dù bạn có thể hiển thị số liệu thống kê /usr/sbin/nscd -g.

Điều đó ít nhất có thể cho bạn thấy hiệu quả của bộ nhớ cache của bạn, mặc dù không chính xác những gì nó đang giải quyết.

Bạn có thể có các tùy chọn khác nếu bạn đang sử dụng một công cụ bộ đệm thay thế, như DNSMASQ.


3

Nếu bạn đang sử dụng nscd, bạn có thể xem nội dung (và có thể một số rác khác), bằng cách hiển thị các chuỗi ASCII từ tệp bộ đệm nhị phân. Trong Debian / Ubuntu, tệp đó /var/cache/nscd/hostsdành cho bộ đệm máy chủ / DNS, vì vậy bạn có thể chạy strings /var/cache/nscd/hostsđể xem máy chủ trong bộ đệm.

Lưu ý rằng đây là một hack hoàn toàn vì dường như không có cách nào thích hợp để kiểm tra nscdbộ đệm mà không giải mã định dạng nhị phân.

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.