Reverse DNS Lookup là gì?

Reverse DNS Lookup chỉ việc truy ngược về domain từ một địa chỉ IP biết trước.

Thực hiện Reverse DNS Lookup như thế nào?

Cách đơn giản nhất để thực hiện Reverse DNS Lookup là gõ lệnh sau vào terminal hoặc command prompt:

$ nslookup <địa chỉ IP>

Ví dụ:

$ nslookup 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

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

Cách thực hiện Reverse DNS Lookup trong Google Sheets

Nếu bạn cần truy xuất domain của hàng trăm hay hàng nghìn địa chỉ IP thì việc gõ từng dòng lệnh coi bộ không khả thi cho lắm.

Mình có đi tìm hiểu và tìm được cách thực hiện việc này trong Google Sheets với Google Apps Script. Cách này đòi hỏi bạn phải gọi API của một bên thứ ba vì vậy nó có một số hạn chế trừ khi là bạn tự host API.

API mà mình sử dụng trong script được cung cấp miễn phí bởi HackerTarget nhưng bị giới hạn ở 100 requests một ngày cho 1 địa chỉ IP.

Đây là code bạn cần bỏ vào Google Apps Script:

Nếu chưa quen với Google Apps Script, bạn có thể tham khảo bài Bỏ dấu Tiếng Việt trong Google Sheets để biết cách tạo một custom function cho Google Sheets.

function reverseDNSLookup(ip) {
  var url = 'https://api.hackertarget.com/reversedns/?q=' + ip;
  var result = UrlFetchApp.fetch(url);
  var response = result.getContentText()
  var rc = result.getResponseCode();

  if (rc != 200) {
    throw new Error(response);
  }
  if (response.indexOf('error') > -1) {
    throw new Error(response);
  }
  if ((response.indexOf('no record') > -1) || (response.indexOf('No result') > -1)) {
    throw new Error('No result found');
  }

  response = Utilities.parseCsv(response, ' ');
  return response[0][1];
}

Sau khi save lại đoạn script trên, Google sẽ yêu cầu bạn cho phép quyền để gọi đến dịch vụ của bên thứ ba trước khi cho phép chạy lệnh reverseDNSLookup.

Cách sử dụng:

=reverseDNSLookup(<cell hoặc chuỗi chứa địa chỉ IP>)

Kết quả:

Reverse DNS Lookup in Google Sheet