Trong bài viết này chúng ta sẽ tìm hiểu cách cài đặt lệnh dig và nslookup trên Linux. Các lệnh này được sử dụng để xử lí những sự cố mạng và thu thập thông tin về các tên miền.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Dig (Domain Information Gopher) là một tiện ích để tra cứu DNS để dò tìm DNS severs và xử lí sự cố liên quan đến DNS severs. Do tính dễ sử dụng, quản trị viên dựa vào công cụ để khắc phục khi xảy ra sự cố DNS.
Nslookup được sử dụng để xử lí các tra cứu DNS và hiển thị thông tin quan trong như MX records và địa chỉ IP liên kết với tên miền.
Các phiên bản Linux mới nhất tích hợp sẵn dig và nslookup theo mặc định .Tuy nhiên các phiên bản Linux cũ hơn có thể không có. Cả hai được lưu trữ bên trong bind-tils package.
Trước khi đi vào sử dụng thì chúng ta sẽ cùng nhau cài đặt các tiện ích xử lí sự cố DNS trong Linux.
Bài viết này được đăng tại [free tuts .net]
I. Cách cài đặt dig và nslookup
1. Cài đặt dig và nslookup trong CentOS/RHEL
Trên Red Hat Linux/CentOs, cài đặt dig và nslookup sử dụng lệnh dnf.
#dnf install bind-utilsSau khi thực hiện lệnh ở trên xong thì chúng ta kiểm tra xem version của dig cũng như kiểm tra xem là ta đã cài đặt thành công hay chưa.
#dig -v
2. Cài đặt dig và nslookup trên Debian
Trên Debian và bất kì bản phân phối nào của nó kể cả Debian, quá trình cài đặt được thực hiện bằng lệnh apt.
#apt install dnsutilsMột lần nữa sau khi tải về xong thì chúng ta cần phải kiểm tra version của dig và cũng như kiểm tra là mình đã tải về thành công.
#dig -v3. Cài đặt dig và nslookup trên ArchLinux
Đối với ArchLinux lệnh cài đặt dig và nslookup sẽ là:
#pacam -Sy dnsutilsĐể kiểm tra phiên bản của dig đã cài đặt chúng ta sử dụng lệnh sau.
#dig -vII. Cách sử dụng dig và nslookup sau khi cài đặt
1. Cách sử dụng lệnh dig
Lệnh dig có thể được sử dụng để truy vấn tên miền và lấy thông tin như hình bên dưới.
# dig fossmint.comLệnh hiển thị một loạt thông tin như phiên bản và các tiện ích của lệnh dig như DNS server và địa chỉ IP tương ứng
Để lấy những thông tin cụ thể hơn và hiển thị IP của tên miền, chúng ta có thể thêm +short như hình bên dưới.
Để kiểm tra MX record cùa tên miền đã chạy.
2. Cách sử dụng lệnh nslookup
Để truy xuất thông tin về tên miền sử dụng nslookup với dòng lệnh như hình bên dưới.
# nslookup fossmint.comSau khi gõ lệnh kia xong thì màn hình trên termnal sẽ xuất hiện như sau.
Trên là cách cài đặt và sử dụng lệnh DIG / nslookup ở mức cơ bản trong Linux. Nếu bạn muốn tìm hiểu kỹ hơn lệnh DIG thì có thể tham khảo bài viết:
Lệnh Dig trong Linux
Trên hệ điều hành giống Unix, lệnh nslookup truy vấn máy chủ định danh Internet một cách tương tác để tìm thông tin.
Sự miêu tả
nslookup, viết tắt của “tra cứu máy chủ định danh”, tìm thông tin về một miền được đặt tên.
Theo mặc định, nslookup dịch tên miền sang địa chỉ IP (hoặc ngược lại). Ví dụ: để tìm địa chỉ IP của microsoft.com, bạn có thể chạy lệnh:
nslookup microsoft.com… và bạn sẽ nhận được phản hồi như sau:
Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: microsoft.com Address: 134.170.185.46 Name: microsoft.com Address: 134.170.188.221Ở đây, 8.8.8.8 là địa chỉ của Máy chủ tên miền của hệ thống của chúng tôi. Đây là máy chủ mà hệ thống của chúng tôi được cấu hình để sử dụng để dịch tên miền thành địa chỉ IP. “# 53” cho biết chúng tôi đang giao tiếp với nó trên cổng 53, là cổng tiêu chuẩn mà máy chủ tên miền sử dụng để chấp nhận các truy vấn.
Dưới đây, chúng tôi có thông tin tra cứu của chúng tôi cho microsoft.com. Máy chủ định danh của chúng tôi đã trả lại hai mục nhập, 134.170.185.46 và 134.170.188.221. Điều này cho thấy microsoft.com sử dụng thiết lập tổng hợp để phân phối tải của máy chủ. Khi bạn truy cập micrsoft.com, bạn có thể được chuyển hướng đến một trong hai máy chủ này và các gói tin của bạn được chuyển đến đúng đích.
Bạn có thể thấy rằng chúng tôi đã nhận được câu trả lời “Không có thẩm quyền” cho truy vấn của chúng tôi. Câu trả lời là “có thẩm quyền” chỉ khi DNS của chúng tôi có thông tin tệp vùng đầy đủ cho miền được đề cập. Thông thường, DNS của chúng tôi có một bộ nhớ cache thông tin đại diện cho câu trả lời có thẩm quyền cuối cùng mà nó nhận được khi thực hiện một truy vấn tương tự; thông tin này được chuyển cho bạn và được máy chủ đủ điều kiện là “không có thẩm quyền”: thông tin gần đây đã được nhận từ một nguồn có thẩm quyền, nhưng bản thân máy chủ DNS không có thẩm quyền đó.
Tra cứu DNS ngược
Chúng tôi cũng có thể thực hiện ngược lại thao tác trên bằng cách cung cấp địa chỉ IP thay vì tên miền. Ví dụ, lệnh:
nslookup 134.170.185.46… trả về thông tin giống như sau:
Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: 46.185.170.134.in-addr.arpa name = grv.microsoft.com. Authoritative answers can be found from:Truy vấn bản ghi NS của một miền
Bản ghi NS của một miền là bản đồ của tất cả các máy chủ định danh có thẩm quyền cho miền đó. Bạn có thể truy vấn bản ghi NS của miền bằng cách sử dụng tùy chọn -type = ns, như sau:
nslookup -type=ns microsoft.com… và phản hồi tương tự như sau:
Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: microsoft.com nameserver = ns3.msft.net. microsoft.com nameserver = ns4.msft.net. microsoft.com nameserver = ns1.msft.net. microsoft.com nameserver = ns2.msft.net. Authoritative answers can be found from:Kết quả này cung cấp cho chúng tôi tên của bốn máy chủ định danh microsoft.com (thực sự thuộc về miền msft.net), theo thông tin DNS (không có thẩm quyền) của chúng tôi. Nếu có một nguồn có sẵn cho các câu trả lời có thẩm quyền, nó sẽ được liệt kê ở cuối đầu ra.
Truy vấn bản ghi MX
Bản ghi MX là bản đồ của các máy chủ trao đổi thư cho một miền. Khi bạn gửi e-mail đến một miền, chẳng hạn như “@ microsoft.com”, thư được chuyển đến các máy chủ MX của Microsoft.
Bạn có thể truy vấn miền cho bản ghi MX của nó bằng cách sử dụng tùy chọn -type = mx. Ví dụ:
nslookup -type=mx microsoft.com… phản hồi với đầu ra giống như sau:
Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: microsoft.com mail exchanger = 10 microsoft-com.mail.protection.outlook.com. Authoritative answers can be found from:Ở đây, địa chỉ trao đổi thư được bắt đầu bằng số (10). Nếu có nhiều hơn một bộ trao đổi thư, chúng sẽ có một số khác nhau, với các số thấp hơn thể hiện mức độ ưu tiên cao hơn. Vì vậy, nếu có một trình trao đổi khác có tiền tố 5, máy chủ đó sẽ được ưu tiên hơn máy chủ được liệt kê ở đây.
Truy vấn bản ghi SOA
Bản ghi SOA (Start Of Authority) cho một miền cung cấp thông tin kỹ thuật về miền. Nó có thể được truy vấn với option -type = soa.
nslookup -type=soa microsoft.comServer: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: microsoft.com origin = ns1.msft.net mail addr = msnhst.microsoft.com serial = 2014110802 refresh = 7200 retry = 600 expire = 2419200 minimum = 3600 Authoritative answers can be found from:Thông tin được liệt kê ở đây là phiên bản đã lưu trong bộ nhớ cache do máy chủ tên miền của chúng tôi nắm giữ. Nó bao gồm:
origin: Cơ quan mà thông tin bắt nguồn từ đó.
mail addr: Địa chỉ e-mail của quản trị viên miền (dấu chấm đầu tiên sẽ là ký hiệu @ trong địa chỉ e-mail, vì vậy địa chỉ e-mail ở đây là [email protected]).
serial: Dữ liệu sửa đổi cho thông tin này, ở dạng YYYYMMDDNN. Đây là thông tin hiện tại là ngày 11 tháng 8 năm 2014; 02 có nghĩa là nó là bản sửa đổi thứ hai được thực hiện vào ngày hôm đó.
refresh: Một số đại diện cho khoảng thời gian, tính bằng giây, sau đó máy chủ định danh phụ kiểm tra máy chủ định danh chính để tìm bản sửa đổi cập nhật của thông tin này. Thông tin này cho chúng ta biết thông tin của máy chủ định danh Microsoft phụ không bao giờ lỗi thời quá hai giờ (7200 giây).
thử lại: Máy chủ định danh phụ đợi điều này nhiều giây trước khi cố gắng kết nối lại với máy chủ định danh chính sau một lần thử không thành công.
hết hạn: Bộ nhớ đệm của máy chủ định danh phụ chứa thông tin của máy chủ định danh chính luôn được coi là không hợp lệ sau nhiều giây này.
tối thiểu: Bộ nhớ cache của máy chủ định danh phụ chứa thông tin của máy chủ định danh chính sẽ không được làm mới nếu khoảng thời gian này chưa trôi qua kể từ lần làm mới cuối cùng.
Xem tất cả các bản ghi NS hiện có
Chúng tôi cũng có thể xem tất cả các bản ghi NS có sẵn cho một miền bằng cách sử dụng tùy chọn -type = any. Ví dụ:
nslookup -type=any microsoft.comServer: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: microsoft.com Address: 134.170.185.46 Name: microsoft.com Address: 134.170.188.221 microsoft.com nameserver = ns3.msft.net. microsoft.com nameserver = ns4.msft.net. microsoft.com nameserver = ns1.msft.net. microsoft.com nameserver = ns2.msft.net. microsoft.com origin = ns1.msft.net mail addr = msnhst.microsoft.com serial = 2014110802 refresh = 7200 retry = 600 expire = 2419200 minimum = 3600 microsoft.com mail exchanger = 10 microsoft-com.mail.protection.outlook.com. microsoft.com text = "v=spf1 include:_spf-a.microsoft.com include:_spf-b.microsoft.com include:_spf-c.microsoft.com include:_spf-ssg-a.microsoft.com include:spf-a.hotmail.com ip4:147.243.128.24 ip4:147.243.128.26 ip4:147.243.128.25 ip4:147.243.1.47 ip4:147.243.1.48 -all" microsoft.com text = "FbUF6DbkE+Aw1/wi9xgDi8KVrIIZus5v8L6tbIQZkGrQ/rVQKJi8CjQbBtW tE64ey4NJJwj5J65PIggVYNabdQ==" Authoritative answers can be found from:Truy vấn DNS khác
Theo mặc định, nslookup truy vấn cùng một DNS mà hệ thống được cấu hình để sử dụng cho tất cả các hoạt động mạng. Tuy nhiên, bạn có thể chỉ định một DNS tùy chỉnh để truy vấn bằng cách chỉ định nó trên dòng lệnh. Ví dụ:
nslookup microsoft.com ns1.msft.net… cung cấp cho chúng tôi câu trả lời có thẩm quyền cho truy vấn trước đây của chúng tôi về microsoft.com:
Server: ns1.msft.net Address: 65.55.37.62#53 Name: microsoft.com Address: 134.170.185.46 Name: microsoft.com Address: 134.170.188.221Điều này không chỉ hữu ích để lấy thông tin có thẩm quyền mà còn để tìm ra chính xác thông tin mà một DNS nhất định hiện đã lưu trong bộ nhớ cache.
Truy vấn trên một cổng không chuẩn
Theo mặc định, máy chủ định danh miền chấp nhận các truy vấn trên cổng 53. Nếu điều này được định cấu hình khác trên máy chủ mà bạn đang cố truy vấn, bạn có thể chỉ định một số cổng khác bằng cách sử dụng tùy chọn -port =:
nslookup -port=54 microsoft.comỞ đây, nỗ lực truy vấn không thành công vì DNS của chúng tôi sử dụng cổng tiêu chuẩn, số 53.
Gỡ lỗi giao dịch truy vấn
Người dùng nâng cao có thể cần kiểm tra kỹ hơn các chi tiết của giao dịch truy vấn. Điều này có thể đạt được bằng cách sử dụng tùy chọn -debug:
nslookup -debug microsoft.comServer: 8.8.8.8 Address: 8.8.8.8#53 ------------ QUESTIONS: microsoft.com, type = A, class = IN ANSWERS: -> microsoft.com internet address = 134.170.188.221 ttl = 964 -> microsoft.com internet address = 134.170.185.46 ttl = 964 AUTHORITY RECORDS: ADDITIONAL RECORDS: ------------ Non-authoritative answer: Name: microsoft.com Address: 134.170.188.221 Name: microsoft.com Address: 134.170.185.46Chế độ tương tác
Bạn cũng có thể chạy nhiều lệnh một cách tương tác bằng cách chạy nslookup mà không có tùy chọn:
nslookupThao tác này đưa bạn đến một dấu nhắc lệnh đặc biệt, nơi bạn có thể sử dụng các lệnh để thực hiện bất kỳ thao tác nào được liệt kê ở trên. Nó trông như thế này:
>Tại lời nhắc này, bạn có thể nhập tên miền hoặc địa chỉ IP để truy vấn DNS của bạn để biết thông tin cơ bản của nó:
> microsoft.comServer: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: microsoft.com Address: 134.170.185.46 Name: microsoft.com Address: 134.170.188.221… hoặc, để gửi một loại truy vấn cụ thể, bạn có thể đặt loại với set type = value, rồi chạy truy vấn. Ví dụ: hai lệnh này tương đương với việc chạy nslookup -type = any microsoft.com từ dòng lệnh:
> set type=any > microsoft.comServer: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: microsoft.com Address: 134.170.188.221 Name: microsoft.com Address: 134.170.185.46 microsoft.com nameserver = ns2.msft.net. microsoft.com nameserver = ns3.msft.net. microsoft.com nameserver = ns4.msft.net. microsoft.com nameserver = ns1.msft.net. microsoft.com origin = ns1.msft.net mail addr = msnhst.microsoft.com serial = 2014110802 refresh = 7200 retry = 600 expire = 2419200 minimum = 3600 microsoft.com mail exchanger = 10 microsoft-com.mail.protection.outlook.com. microsoft.com text = "v=spf1 include:_spf-a.microsoft.com include:_spf-b.microsoft.com include:_spf-c.microsoft.com include:_spf-ssg-a.microsoft.com include:spf-a.hotmail.com ip4:147.243.128.24 ip4:147.243.128.26 ip4:147.243.128.25 ip4:147.243.1.47 ip4:147.243.1.48 -all" microsoft.com text = "FbUF6DbkE+Aw1/wi9xgDi8KVrIIZus5v8L6tbIQZkGrQ/rVQKJi8CjQbBtWtE64ey4NJJwj5J65PIggVYNabdQ==" Authoritative answers can be found from:Khi đã sẵn sàng thoát Chế độ tương tác của nslookup, hãy chạy lệnh thoát:
> exit… và bạn được quay trở lại dòng lệnh.
Có những lệnh khác mà bạn có thể chạy từ chế độ tương tác; xem: Các lệnh tương tác bên dưới để biết danh sách.
Cú pháp
nslookup [-option] [name | -] [server]Mô tả kỹ thuật
nslookup là một chương trình được sử dụng để truy vấn máy chủ tên miền Internet để tìm thông tin.
nslookup có hai chế độ: tương tác và không tương tác. Chế độ tương tác cho phép người dùng truy vấn máy chủ định danh để biết thông tin về các máy chủ và miền khác nhau hoặc in danh sách máy chủ trong một miền. Chế độ không tương tác được sử dụng để in tên và thông tin được yêu cầu cho máy chủ lưu trữ hoặc miền.
Tranh luận
Chế độ tương tác được nhập trong các trường hợp sau:
- Khi không có đối số nào được đưa ra (máy chủ định danh mặc định được sử dụng).
- Khi đối số đầu tiên là dấu gạch ngang (“-“) và đối số thứ hai là tên máy chủ hoặc địa chỉ Internet của máy chủ định danh.
Chế độ không tương tác được sử dụng khi tên hoặc địa chỉ Internet của máy chủ lưu trữ cần tra cứu được đưa ra làm đối số đầu tiên (có thể đứng trước tùy chọn). Đối số thứ hai tùy chọn chỉ định tên máy chủ hoặc địa chỉ của máy chủ định danh, sẽ được sử dụng thay cho DNS mặc định của hệ thống.
Tùy chọn
Các tùy chọn có thể được chỉ định trên dòng lệnh nếu chúng đứng trước các đối số và được bắt đầu bằng dấu gạch ngang. Ví dụ: để thay đổi loại truy vấn mặc định thành thông tin máy chủ lưu trữ và thời gian chờ ban đầu thành 10 giây, hãy nhập:
nslookup -query=hinfo -timeout=10Tên của tùy chọn tương ứng với từ khóa của lệnh đặt. Xem bên dưới để biết mô tả về những từ khóa này và cài đặt có sẵn của chúng.
Lệnh tương tác
tổ chức [server] | Tra cứu thông tin về máy chủ lưu trữ bằng máy chủ mặc định hiện tại hoặc máy chủ nếu được chỉ định. Nếu máy chủ lưu trữ là một địa chỉ Internet và loại truy vấn là A hoặc PTR, tên của máy chủ lưu trữ sẽ được trả về. Nếu máy chủ lưu trữ là một tên và không có dấu chấm, danh sách tìm kiếm được sử dụng để xác định tên đó. Để tra cứu máy chủ lưu trữ không có trong miền hiện tại, hãy thêm dấu chấm vào tên. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
miền máy chủ, miền máy chủ | Thay đổi máy chủ mặc định thành miền; lserver sử dụng máy chủ ban đầu để tra cứu thông tin về miền, trong khi máy chủ sử dụng máy chủ mặc định hiện tại. Nếu không tìm thấy câu trả lời có thẩm quyền, tên của máy chủ có thể có câu trả lời sẽ được trả về. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lối ra | Thoát khỏi chương trình. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
đặt từ khóa[=value] | Được sử dụng để thay đổi thông tin trạng thái ảnh hưởng đến việc tra cứu. Các từ khóa hợp lệ là:
|
Tệp cấu hình
nslookup sử dụng tệp cấu hình /etc/nsresolv.conf, nếu nó tồn tại, cho bất kỳ cấu hình DNS đặc biệt nào mà bạn có thể cần. Tệp này được quản lý bằng chương trình dòng lệnh Resolutionvconf.
Không dùng nữa
nslookup trong thời gian ngắn đã được Hiệp hội Hệ thống Internet phân loại là “không được chấp nhận” vì công cụ lưu trữ và đào. Sau đó, họ đã đảo ngược quyết định này, nhưng điều quan trọng cần lưu ý là máy chủ và máy đào có thể cung cấp cho bạn các chức năng tương tự như nslookup, ở mức độ chấp nhận của ngành cao hơn một chút.
Các ví dụ
nslookup 204.228.150.3Thực hiện tra cứu ngược địa chỉ IP 204.228.150.3. Máy chủ miền của bạn phản hồi với thông tin hiện tại mà nó có về máy chủ đó và nó được hiển thị trên màn hình đầu cuối của bạn. Đầu ra giống như sau:
Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: 3.150.228.204.in-addr.arpa name = 204-228-150-3.xmission.com. Authoritative answers can be found from:nslookup -type=mx computerhope.comTruy vấn DNS của bạn để biết thông tin về (các) máy chủ trao đổi thư cho miền computerhope.com. Đầu ra giống như sau:
Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: computerhope.com mail exchanger = 10 mail.computerhope.com. Authoritative answers can be found from:nslookup -type=any google.comTruy vấn DNS của bạn để biết tất cả thông tin có sẵn liên quan đến tên miền google.com. Đầu ra giống như sau:
Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: google.com Address: 74.125.226.167 Name: google.com Address: 74.125.226.165 Name: google.com Address: 74.125.226.169 Name: google.com Address: 74.125.226.163 Name: google.com Address: 74.125.226.168 Name: google.com Address: 74.125.226.174 Name: google.com Address: 74.125.226.162 Name: google.com Address: 74.125.226.160 Name: google.com Address: 74.125.226.161 Name: google.com Address: 74.125.226.166 Name: google.com Address: 74.125.226.164 google.com has AAAA address 2607:f8b0:4006:809::1009 google.com nameserver = ns3.google.com. google.com mail exchanger = 50 alt4.aspmx.l.google.com. google.com rdata_257 = # 19 0005697373756573796D616E7465632E636F6D google.com nameserver = ns4.google.com. google.com text = "v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all" google.com mail exchanger = 40 alt3.aspmx.l.google.com. google.com nameserver = ns1.google.com. google.com mail exchanger = 30 alt2.aspmx.l.google.com. google.com mail exchanger = 20 alt1.aspmx.l.google.com. google.com mail exchanger = 10 aspmx.l.google.com. google.com origin = ns1.google.com mail addr = dns-admin.google.com serial = 2014110400 refresh = 7200 retry = 1800 expire = 1209600 minimum = 300 google.com nameserver = ns2.google.com. Authoritative answers can be found from:dig – tiện ích tra cứu DNS.
host – Chuyển đổi tên máy chủ sang địa chỉ IP và ngược lại.
ping – Gửi gói ICMP ECHO_REQUEST tới các máy chủ mạng.