شرح الـ nslookup و digl
nslookup (Name Server Lookup)
يعني إيه nslookup؟
أداة بسيطة لسؤال DNS عن معلومات النطاقات. موجودة على كل أنظمة التشغيل (Windows, Linux, Mac).
الاستخدام الأساسي
1. معرفة IP أي موقع
nslookup google.com
# النتيجة:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 142.250.185.46
الشرح:
- Server: الـ DNS Server اللي استخدمته (8.8.8.8 = Google DNS)
- Non-authoritative answer: يعني الإجابة من Cache، مش من السيرفر الأصلي
- Address: الـ IP بتاع google.com
2. استخدام DNS Server معين
# استخدام Cloudflare DNS بدل الافتراضي
nslookup google.com 1.1.1.1
# النتيجة:
Server: 1.1.1.1
Address: 1.1.1.1#53
Non-authoritative answer:
Name: google.com
Address: 142.250.185.46
3. الوضع التفاعلي (Interactive Mode)
# ادخل لـ nslookup بدون parameters
nslookup
> google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 142.250.185.46
> facebook.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: facebook.com
Address: 157.240.241.35
> exit
أنواع الاستعلامات
1. A Record (IPv4)
nslookup -type=A google.com
# أو في Interactive Mode:
nslookup
> set type=A
> google.com
2. AAAA Record (IPv6)
nslookup -type=AAAA google.com
# النتيجة:
google.com has AAAA address 2a00:1450:4001:82a::200e
3. MX Record (Mail Servers)
nslookup -type=MX google.com
# النتيجة:
google.com mail exchanger = 10 smtp.google.com.
الرقم (10) هو الأولوية - كل ما الرقم أقل، كل ما السيرفر أهم.
4. NS Record (Name Servers)
nslookup -type=NS google.com
# النتيجة:
google.com nameserver = ns1.google.com.
google.com nameserver = ns2.google.com.
google.com nameserver = ns3.google.com.
google.com nameserver = ns4.google.com.
5. TXT Record
nslookup -type=TXT google.com
# النتيجة:
google.com text = "v=spf1 include:_spf.google.com ~all"
google.com text = "google-site-verification=..."
6. SOA Record (Start of Authority)
nslookup -type=SOA google.com
# النتيجة:
google.com
origin = ns1.google.com
mail addr = dns-admin.google.com
serial = 123456789
refresh = 900
retry = 900
expire = 1800
minimum = 60
7. ANY Record (كل الأنواع)
nslookup -type=ANY google.com
# هيجيب كل أنواع الـ Records المتاحة
Reverse DNS Lookup
معرفة الاسم من الـ IP:
nslookup 142.250.185.46
# النتيجة:
46.185.250.142.in-addr.arpa name = sof02s46-in-f14.1e100.net.
مثال عملي - فحص موقع مشبوه
# 1. معرفة IP الموقع
nslookup suspicious-site.com
# 2. عمل Reverse DNS للـ IP
nslookup 1.2.3.4
# 3. فحص Mail Servers
nslookup -type=MX suspicious-site.com
# 4. فحص TXT records (ممكن تلاقي معلومات مهمة)
nslookup -type=TXT suspicious-site.com
dig (Domain Information Groper)
يعني إيه dig؟
أداة أقوى وأكثر مرونة من nslookup. متوفرة على Linux و Mac (على Windows محتاج تنزلها منفصلة).
ليه dig أفضل من nslookup؟
✓ معلومات أكثر تفصيلاً
✓ Output منظم وسهل القراءة
✓ خيارات متقدمة أكتر
✓ أفضل للـ Scripting
✓ الأداة المفضلة للمحترفين
الاستخدام الأساسي
1. استعلام بسيط
dig google.com
# النتيجة:
; <<>> DiG 9.16.1 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 142.250.185.46
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Jan 06 15:30:15 EET 2026
;; MSG SIZE rcvd: 55
شرح الأقسام:
HEADER:
- opcode: QUERY (نوع الطلب)
- status: NOERROR (مفيش أخطاء)
- id: 12345 (رقم تعريف الطلب)
FLAGS:
- qr: Query Response (ده رد على استعلام)
- rd: Recursion Desired (عايز DNS يدور لحد ما يلاقي)
- ra: Recursion Available (الـ DNS يقدر يعمل Recursion)
QUESTION SECTION:
- google.com. IN A (السؤال: عايز A Record لـ google.com)
ANSWER SECTION:
- google.com. 300 IN A 142.250.185.46
↑ الاسم ↑TTL ↑Type ↑ الـ IP
Query time: كام وقت اخد الاستعلام
SERVER: أنهي DNS Server استخدمناه
2. إجابة مختصرة (+short)
dig +short google.com
# النتيجة:
142.250.185.46
بس! مفيش تفاصيل، بس الـ IP.
3. استخدام DNS Server معين
dig @1.1.1.1 google.com
# استخدام Cloudflare DNS
dig @8.8.8.8 google.com
# استخدام Google DNS
أنواع الاستعلامات
1. A Record
dig google.com A
# أو
dig google.com
# (A هو الافتراضي)
2. AAAA Record (IPv6)
dig google.com AAAA
# النتيجة:
;; ANSWER SECTION:
google.com. 300 IN AAAA 2a00:1450:4001:82a::200e
3. MX Record
dig google.com MX
# النتيجة:
;; ANSWER SECTION:
google.com. 3600 IN MX 10 smtp.google.com.
4. NS Record
dig google.com NS
# النتيجة:
;; ANSWER SECTION:
google.com. 21600 IN NS ns1.google.com.
google.com. 21600 IN NS ns2.google.com.
google.com. 21600 IN NS ns3.google.com.
google.com. 21600 IN NS ns4.google.com.
5. TXT Record
dig google.com TXT
# النتيجة:
;; ANSWER SECTION:
google.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"
google.com. 3600 IN TXT "google-site-verification=..."
6. SOA Record
dig google.com SOA
# النتيجة:
;; ANSWER SECTION:
google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 123456789 900 900 1800 60
7. ANY Record
dig google.com ANY
# هيجيب كل أنواع الـ Records
Reverse DNS Lookup
dig -x 142.250.185.46
# النتيجة:
;; ANSWER SECTION:
46.185.250.142.in-addr.arpa. 86400 IN PTR sof02s46-in-f14.1e100.net.
خيارات متقدمة
1. +trace (تتبع المسار الكامل)
dig +trace google.com
# النتيجة:
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
... (Root Servers)
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
... (.com TLD Servers)
google.com. 21600 IN NS ns1.google.com.
google.com. 21600 IN NS ns2.google.com.
... (Google's Name Servers)
google.com. 300 IN A 142.250.185.46
(الإجابة النهائية)
ده بيوريك الرحلة الكاملة من Root Servers لحد الـ IP!
2. +noall +answer (إجابة مبسطة)
dig +noall +answer google.com
# النتيجة:
google.com. 300 IN A 142.250.185.46
بس الإجابة، بدون أي تفاصيل إضافية.
3. +nocmd +nostats (إخفاء معلومات إضافية)
dig +nocmd +nostats google.com
# هيخفي السطور الأولى والأخيرة
4. -4 أو -6 (إجبار IPv4 أو IPv6)
dig -4 google.com # استخدام IPv4 فقط
dig -6 google.com # استخدام IPv6 فقط
5. +dnssec (فحص DNSSEC)
dig +dnssec google.com
# هيوريك إذا كان الموقع بيستخدم DNSSEC للحماية
حالات استخدام عملية
1. فحص موقع جديد
# nslookup - سريع
nslookup example.com
# dig - مفصل
dig example.com
dig example.com MX
dig example.com NS
dig example.com TXT
2. اكتشاف Subdomains
# فحص Subdomain معين
dig www.example.com
dig api.example.com
dig admin.example.com
# مع nslookup
nslookup www.example.com
nslookup api.example.com
3. فحص Mail Servers
# nslookup
nslookup -type=MX gmail.com
# dig
dig gmail.com MX +short
4. التحقق من DNS Propagation
لما تغير DNS، عايز تتأكد إنه انتشر:
# فحص من DNS servers مختلفة
dig @8.8.8.8 example.com +short # Google
dig @1.1.1.1 example.com +short # Cloudflare
dig @208.67.222.222 example.com +short # OpenDNS
# لو كل السيرفرات بترد بنفس الـ IP، يبقى انتشر
من ناحية السيكيورتي
1. Zone Transfer Attack
محاولة سحب كل DNS records:
# معرفة Name Servers الأول
dig example.com NS +short
# النتيجة:
ns1.example.com.
ns2.example.com.
# محاولة Zone Transfer
dig @ns1.example.com example.com AXFR
# لو الـ DNS مش محمي هيطلعلك كل الـ subdom
;; ANSWER SECTION:
example.com. 86400 IN SOA ...
www.example.com. 86400 IN A 1.2.3.4
admin.example.com. 86400 IN A 1.2.3.5
api.example.com. 86400 IN A 1.2.3.6
vpn.example.com. 86400 IN A 1.2.3.7
...
2. DNS Enumeration
جمع معلومات عن الهدف:
# 1. Name Servers
dig target.com NS
# 2. Mail Servers
dig target.com MX
# 3. TXT Records (ممكن فيها معلومات مهمة)
dig target.com TXT
# 4. SOA Record (معلومات إدارية)
dig target.com SOA
# 5. Subdomains
dig www.target.com
dig mail.target.com
dig ftp.target.com
dig vpn.target.com
3. كشف DNS Spoofing
# فحص نفس الموقع من DNS servers مختلفة
dig @8.8.8.8 example.com A +short
dig @1.1.1.1 example.com A +short
dig @9.9.9.9 example.com A +short
# لو النتائج مختلفة، ممكن يكون في Spoofing
4. DNSSEC Validation
# فحص إذا كان الموقع محمي بـ DNSSEC
dig +dnssec example.com
# لو شفت RRSIG في الإجابة، يعني في DNSSEC
;; ANSWER SECTION:
example.com. 3600 IN A 1.2.3.4
example.com. 3600 IN RRSIG A 8 2 3600 ...
5. Reverse DNS للتحقق من السيرفرات
# عندك IP سيرفر مشبوه
dig -x 1.2.3.4
# لو الـ Reverse DNS مش منطقي، ممكن يكون سيرفر خبيث
;; ANSWER SECTION:
4.3.2.1.in-addr.arpa. 86400 IN PTR malicious-server.evil.com.
سكريبتات عملية
1. فحص موقع شامل
#!/bin/bash
# DNS Full Scan
DOMAIN=$1
echo "=== DNS Records for $DOMAIN ==="
echo ""
echo "A Records:"
dig +short $DOMAIN A
echo ""
echo "AAAA Records:"
dig +short $DOMAIN AAAA
echo ""
echo "MX Records:"
dig +short $DOMAIN MX
echo ""
echo "NS Records:"
dig +short $DOMAIN NS
echo ""
echo "TXT Records:"
dig +short $DOMAIN TXT
الاستخدام:
chmod +x dns-scan.sh
./dns-scan.sh google.com
2. مقارنة DNS من عدة سيرفرات
#!/bin/bash
# DNS Comparison
DOMAIN=$1
echo "=== DNS Comparison for $DOMAIN ==="
echo ""
echo "Google DNS (8.8.8.8):"
dig @8.8.8.8 $DOMAIN +short
echo ""
echo "Cloudflare DNS (1.1.1.1):"
dig @1.1.1.1 $DOMAIN +short
echo ""
echo "OpenDNS (208.67.222.222):"
dig @208.67.222.222 $DOMAIN +short
echo ""
echo "Quad9 (9.9.9.9):"
dig @9.9.9.9 $DOMAIN +short
3. Subdomain Brute Force
#!/bin/bash
# Simple Subdomain Bruteforce
DOMAIN=$1
WORDLIST="subdomains.txt" # www, mail, ftp, admin, api, ...
while read SUB; do
RESULT=$(dig +short $SUB.$DOMAIN)
if [ -n "$RESULT" ]; then
echo "[+] Found: $SUB.$DOMAIN → $RESULT"
fi
done < $WORDLIST
نصائح واختصارات
Aliases مفيدة
أضف دول في .bashrc أو .zshrc:
# Dig shortcuts
alias digs='dig +short'
alias digt='dig +trace'
alias diga='dig +noall +answer'
# مثال:
digs google.com # بدل dig +short google.com
digt google.com # بدل dig +trace google.com
diga google.com # بدل dig +noall +answer google.com
One-Liners مفيدة
# جيب كل الـ IPs لموقع
dig +short example.com A | grep -v '\.$'
# جيب أول IP بس
dig +short example.com A | head -1
# فحص عدة مواقع
for domain in google.com facebook.com twitter.com; do
echo "$domain: $(dig +short $domain A)"
done
# حفظ النتائج في ملف
dig example.com > dns-results.txt
# فحص Reverse DNS لعدة IPs
for ip in 1.2.3.4 5.6.7.8; do
dig -x $ip +short
done
خلاصة
متى تستخدم nslookup؟
✓ استخدام سريع ومباشر
✓ على Windows (موجود افتراضياً)
✓ مش محتاج تفاصيل كتير
✓ للمبتدئين
متى تستخدم dig؟
✓ تحليل عميق
✓ Troubleshooting DNS
✓ Security Testing
✓ Scripting & Automation
✓ احتراف الـ Networking
الأوامر الأساسية
nslookup:
nslookup example.com # استعلام بسيط
nslookup -type=MX example.com # Mail servers
nslookup example.com 1.1.1.1 # DNS معين
dig:
dig example.com # استعلام مفصل
dig +short example.com # إجابة مختصرة
dig +trace example.com # تتبع المسار
dig @8.8.8.8 example.com # DNS معين
dig example.com MX # نوع معين
dig -x 1.2.3.4 # Reverse DNS
من ناحية السيكيورتي
- استخدمهم في Reconnaissance (جمع المعلومات)
- كشف Subdomains المخفية
- التحقق من DNS Spoofing
- محاولة Zone Transfer
- فحص DNSSEC