Khi cấu hình Firewall, Access Control List (ACL) hoặc troubleshooting hệ thống mạng, đôi khi chúng ta cần biết một tên miền đang phân giải thành những địa chỉ IP nào.
Ví dụ:
facebook.com
vnexpress.net
microsoft.com
Máy tính không trực tiếp sử dụng tên miền để thiết lập kết nối IP. DNS sẽ đảm nhiệm việc phân giải:
Tên miền
↓
DNS
↓
Địa chỉ IP
Trên Windows, công cụ nslookup được tích hợp sẵn và cho phép chúng ta thực hiện các truy vấn DNS rất nhanh ngay trên CMD.
1. Chế độ Non-interactive – Tra cứu nhanh một tên miền
Đây là cách đơn giản nhất khi bạn chỉ cần kiểm tra một tên miền.
Cú pháp
nslookup [Tên_miền] [DNS_Server]
Tham số DNS Server là tùy chọn.
Trường hợp 1: Sử dụng DNS mặc định
Ví dụ:
nslookup google.com
Khi đó, Windows sẽ gửi truy vấn tới DNS Server đang được cấu hình trên máy tính hoặc nhận thông qua DHCP.
Kết quả thường có dạng:
- Server / Address: DNS Server mà máy đang sử dụng.
- Name: tên miền được truy vấn.
- Address: địa chỉ IP mà DNS trả về.
Lưu ý: Một website có thể trả về nhiều IP, và kết quả có thể thay đổi theo thời gian hoặc theo vị trí địa lý do CDN, GeoDNS hoặc cơ chế cân bằng tải.
Trường hợp 2: Chỉ định DNS Server
Bạn cũng có thể yêu cầu nslookup sử dụng một DNS Server cụ thể.
Ví dụ:
nslookup facebook.com 8.8.8.8
Trong trường hợp này:
facebook.com
↓
8.8.8.8
↓
DNS Response
8.8.8.8 là DNS Public của Google.
Cách này hữu ích khi bạn muốn so sánh kết quả giữa DNS nội bộ và DNS bên ngoài, chẳng hạn:
Nếu hai kết quả khác nhau, có thể tiếp tục kiểm tra các vấn đề liên quan đến DNS nội bộ, DNS cache, split DNS hoặc CDN/GeoDNS.
Nhớ rằng: không nên hiểu rằng DNS Public luôn trả về “IP chính xác nhất”. Các DNS Server khác nhau hoàn toàn có thể trả về IP khác nhau nhưng đều hợp lệ.
2. Chế độ Interactive – Tra cứu nhiều lần
Nếu phải kiểm tra nhiều domain liên tục, thay vì gõ:
nslookup vnexpress.net
nslookup tuoitre.vn
nslookup dantri.com.vn
ta có thể chuyển sang chế độ Interactive.
Chỉ cần mở CMD và nhập:
Hoặc thêm ‘’ – tên hoặc IP của 1 DNS server ” để chỉ định DNS server.
Sau đó dấu nhắc sẽ chuyển thành:
>
Bây giờ có thể nhập trực tiếp tên miền:
> vnexpress.net
> tuoitre.vn
> dantri.com.vn
Không cần gõ lại nslookup mỗi lần.
Đây là một cách khá tiện khi đang troubleshooting DNS hoặc kiểm tra nhiều domain.
3. Tra cứu các loại DNS Record
Một điểm rất hữu ích của nslookup là không chỉ kiểm tra IP.
Ta có thể yêu cầu DNS trả về những loại record cụ thể.
🔹 A Record – IPv4
> set type=A
> microsoft.com
A Record cho biết địa chỉ IPv4 của hostname.
🔹 AAAA Record – IPv6
> set type=AAAA
> microsoft.com
AAAA Record dùng để kiểm tra địa chỉ IPv6.
Điều này đặc biệt hữu ích khi hệ thống có IPv6 nhưng người dùng gặp lỗi truy cập website.
4. Tra cứu Mail Server bằng MX Record
nslookup cũng có thể kiểm tra hệ thống Mail của một domain.
Trong chế độ Interactive:
> set type=mx
> microsoft.com
Kết quả có thể trả về các hostname của Mail Server.
Ví dụ:
Điểm cần lưu ý là MX Record thường trả về hostname của Mail Server chứ không trực tiếp là IP.
Nếu cần biết IP của Mail Server, có thể lấy hostname đó và thực hiện tiếp:
> set type=A
> mail.example.com
Firewall thì sao?
Sau khi xác định được Mail Server, việc mở port nào còn phụ thuộc vào luồng kết nối và hệ thống mail thực tế.
Một số port thường gặp:
| Port | Mục đích |
| 25 | SMTP server-to-server |
| 465 | SMTP over TLS |
| 587 | SMTP Submission |
5. Reverse Lookup – Từ IP tìm hostname
nslookup cũng hỗ trợ tra cứu ngược.
Ví dụ:
> 8.8.8.8
Nếu IP có PTR Record, DNS có thể trả về hostname tương ứng.
Reverse Lookup khá hữu ích khi phân tích log Firewall hoặc troubleshooting một địa chỉ IP chưa rõ nguồn gốc.
Lưu ý: Không phải IP nào cũng có PTR Record, và hostname trả về không nhất thiết phải là “website” đang chạy trên IP đó.
6. Debug DNS với set debug
Khi cần kiểm tra sâu hơn, có thể bật Debug Mode:
> set debug
> example.com
nslookup sẽ hiển thị thêm nhiều thông tin của DNS response như:
- Query
- Flags
- TTL
- Record
- Section của DNS response
Nếu thông tin hiển thị quá nhiều, có thể tắt:
> set nodebug
7. Kiểm tra TXT Record
TXT Record thường được sử dụng để công bố các thông tin dạng text trong DNS.
Có thể kiểm tra bằng:
> set type=TXT
> example.com
Trong thực tế, TXT Record thường được dùng cho các cơ chế xác thực và bảo mật như:
- SPF
- Domain verification
- Một số thông tin liên quan đến DKIM
- DMARC
8. Một lưu ý rất quan trọng khi cấu hình Firewall
Đây có lẽ là phần quan trọng nhất nếu mục tiêu của bạn là dùng nslookup để cấu hình Firewall.
Giả sử:
nslookup facebook.com
trả về:
xxx.xxx.xxx.xxx
Không có nghĩa là chỉ cần đưa IP đó vào Firewall là có thể chặn toàn bộ Facebook.
Lý do là các dịch vụ lớn thường sử dụng:
- CDN
- Load Balancer
- Nhiều IP
- IPv4 và IPv6
- GeoDNS
- Cloud Infrastructure
Domain
↓
DNS
↓
IP A
IP B
IP C
IP D
...
Các IP này cũng có thể thay đổi theo thời gian.
Vì vậy:
nslookup** rất tốt để troubleshooting và kiểm tra DNS, nhưng không nên xem nó là phương pháp duy nhất để xây dựng Firewall Policy dựa trên IP.**
Nếu Firewall hỗ trợ FQDN Object / FQDN Policy / DNS-based policy, đó có thể là lựa chọn phù hợp hơn trong một số trường hợp.
9. Các lệnh nên nhớ
| Mục đích | Lệnh |
| Tra IP nhanh | nslookup example.com |
| Dùng DNS cụ thể | nslookup example.com 8.8.8.8 |
| Interactive Mode | nslookup |
| IPv4 | set type=A |
| IPv6 | set type=AAAA |
| Alias | set type=CNAME |
| Mail Server | set type=MX |
| TXT Record | set type=TXT |
| Debug | set debug |
| Tắt Debug | set nodebug |
| Thoát | exit |
Tổng kết
Nếu chỉ cần nhớ vài lệnh cơ bản, hãy nhớ:
nslookup example.com
→ Tra cứu nhanh.
nslookup example.com 8.8.8.8
→ Tra cứu bằng DNS Server cụ thể.
nslookup
>
→ Chuyển sang Interactive Mode.
Sau đó có thể sử dụng:
set type=A
set type=AAAA
set type=CNAME
set type=MX
set type=TXT
để kiểm tra từng loại DNS Record.
Một công cụ nhỏ nhưng cực kỳ hữu ích khi làm Network: từ kiểm tra DNS, troubleshooting kết nối cho tới hỗ trợ phân tích Firewall Log và Mail System.