9 ตัวอย่างคำสั่งโฮสต์ที่มีประโยชน์สำหรับการสืบค้นรายละเอียด DNS
เผยแพร่แล้ว: 2022-03-08คำสั่ง HOST เป็นยูทิลิตี้อินเทอร์เฟซบรรทัดคำสั่งอย่างง่ายสำหรับดำเนินการแจงนับ DNS
ในการวิจัยด้านความปลอดภัยและการแฮ็กอย่างมีจริยธรรม การแจงนับ DNS เป็นขั้นตอนแรกในการรวบรวมข้อมูลของเป้าหมาย เป็นกระบวนการค้นหาระเบียน DNS ที่เป็นไปได้ทั้งหมดจากเซิร์ฟเวอร์ชื่อโดเมน เช่น รายละเอียดเซิร์ฟเวอร์ชื่อ ที่อยู่ IP รายละเอียดตัวแลกเปลี่ยนจดหมาย TTL และอื่นๆ
ผู้โจมตีอาจใช้ข้อมูลที่แจกแจง DNS นี้เพื่อตรวจสอบบันทึกเครือข่ายภายใน
มี DNS recon และเครื่องมือการนับออนไลน์มากมายบนอินเทอร์เน็ต อย่างไรก็ตาม การแจงนับ DNS สามารถทำได้ง่ายด้วยยูทิลิตี้บรรทัดคำสั่งเดียว นั่นคือ “โฮสต์”
ในบทความนี้ เราจะมาดูตัวอย่างคำสั่งโฮสต์ที่มีประโยชน์สำหรับการสืบค้นรายละเอียด DNS
มาเริ่มกันเลย!
การติดตั้ง
บางครั้งคำสั่ง “HOST” อาจไม่สามารถใช้ได้ตามค่าเริ่มต้นในเครื่องที่เพิ่งติดตั้งใหม่ ดังนั้น คุณจะต้องติดตั้งด้วยตนเองบนระบบ ขั้นตอนการติดตั้งค่อนข้างง่าย
คำสั่งที่เกี่ยวข้องกับ DNS ทั้งหมด เช่น nslookup
, dig
และ host
มีอยู่ในไลบรารี "bind-utils" สำหรับสิ่งนั้น เพียงพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล
sudo apt-get install dnsutils -y
คำสั่ง HOST นี้ทำงานบนทั้ง MAC และ Linux
การใช้งาน
ไวยากรณ์ทั่วไป: คำสั่ง "โฮสต์" ทั่วไปจะพิมพ์ไวยากรณ์โดยรวมของคำสั่งและอาร์กิวเมนต์ของคำสั่งที่สามารถใช้ได้ เช่นเดียวกับคำอธิบายสั้นๆ ของอาร์กิวเมนต์แต่ละรายการ
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host Usage: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time] [-R number] [-m flag] [-p port] hostname [server] -a is equivalent to -v -t ANY -A is like -a but omits RRSIG, NSEC, NSEC3 -c specifies query class for non-IN data -C compares SOA records on authoritative nameservers -d is equivalent to -v -l lists all hosts in a domain, using AXFR -m set memory debugging flag (trace|record|usage) -N changes the number of dots allowed before root lookup is done -p specifies the port on the server to query -r disables recursive processing -R specifies number of retries for UDP packets -sa SERVFAIL response should stop query -t specifies the query type -T enables TCP/IP mode -U enables UDP mode -v enables verbose output -V print version number and exit -w specifies to wait forever for a reply -W specifies how long to wait for a reply -4 use IPv4 query transport only -6 use IPv6 query transport only
เพื่อค้นหาที่อยู่ IP ของโดเมน
หากต้องการค้นหาที่อยู่ IP ของโดเมนใดโดเมนหนึ่ง ให้ส่งชื่อโดเมนเป้าหมายเป็นอาร์กิวเมนต์หลังคำสั่งโฮสต์
host Target-domain
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host geekflare.com geekflare.com has address 104.27.118.115 geekflare.com has address 104.27.119.115 geekflare.com has IPv6 address 2606:4700:20::681b:7673 geekflare.com has IPv6 address 2606:4700:20::681b:7773 geekflare.com mail is handled by 1 aspmx.l.google.com. geekflare.com mail is handled by 5 alt1.aspmx.l.google.com. geekflare.com mail is handled by 5 alt2.aspmx.l.google.com. geekflare.com mail is handled by 10 alt3.aspmx.l.google.com. geekflare.com mail is handled by 10 alt4.aspmx.l.google.com.
สำหรับการค้นหาแบบครอบคลุมโดยใช้โหมด verbose ให้ใช้ตัวเลือกแฟล็ก -a
หรือ -v
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host -a geekflare.com Trying "geekflare.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24690 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;geekflare.com. IN ANY ;; ANSWER SECTION: geekflare.com. 3789 IN HINFO "RFC8482" "" geekflare.com. 3789 IN RRSIG HINFO 13 2 3789 20220307065004 20220305045004 34505 geekflare.com. HW0Lfr5HazPMaACSBHmFqs94usKUljX+kONW/8Q2jwQ1QoAO9DEMjwDX rIQKODGtGnEizj2SzBF98mC2uQr7hQ== Received 161 bytes from 192.168.1.1#53 in 64 ms
ตัวเลือก (-a) นี้ใช้เพื่อค้นหาระเบียนโดเมนและข้อมูลโซนทั้งหมด คุณยังสามารถสังเกตเห็นที่อยู่เซิร์ฟเวอร์ DNS ในเครื่องที่ใช้สำหรับการค้นหา
เพื่อทำการค้นหาแบบย้อนกลับ
คำสั่งนี้ทำการค้นหาแบบย้อนกลับบนที่อยู่ IP และแสดงชื่อโฮสต์หรือชื่อโดเมน
ตัวอย่างเช่น ไวยากรณ์จะเป็นดังนี้:
host target-ip-address
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host dnsleaktest.com dnsleaktest.com has address 23.239.16.110 ┌──(geekflare㉿kali)-[~] └─$ host 23.239.16.110 110.16.239.23.in-addr.arpa domain name pointer li685-110.members.linode.com.
หากคุณคัดลอกและวางที่อยู่ตัวชี้ ( li685-110.members.linode.com.) ในเว็บเบราว์เซอร์ คุณจะถูกเปลี่ยนเส้นทางไปยังเว็บไซต์
ในการค้นหาเซิร์ฟเวอร์ชื่อโดเมน
ใช้ตัวเลือก -t เพื่อรับเนมเซิร์ฟเวอร์โดเมน ใช้เพื่อระบุประเภทแบบสอบถาม
ที่นี่ฉันกำลังส่งอาร์กิวเมนต์ -t เพื่อค้นหาเนมเซิร์ฟเวอร์ของชื่อโดเมนเฉพาะ
ระเบียน NS ระบุเนมเซิร์ฟเวอร์ที่เชื่อถือได้
host -t ns target-domain
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host -t ns geekflare.com geekflare.com name server olga.ns.cloudflare.com. geekflare.com name server todd.ns.cloudflare.com.
เพื่อสอบถามเนมเซิร์ฟเวอร์บางโดเมน
หากต้องการสอบถามรายละเอียดเกี่ยวกับเนมเซิร์ฟเวอร์ที่เชื่อถือได้ ให้ใช้คำสั่งด้านล่าง

host target-domain [name-server]
ตัวอย่างผลลัพธ์:
┌──(rootkali)-[/home/geekflare] └─# host geekflare.com olga.ns.cloudflare.com. 1 ⨯ Using domain server: Name: olga.ns.cloudflare.com. Address: 173.245.58.137#53 Aliases: geekflare.com has address 104.27.118.115 geekflare.com has address 104.27.119.115 geekflare.com has IPv6 address 2606:4700:20::681b:7773 geekflare.com has IPv6 address 2606:4700:20::681b:7673 geekflare.com mail is handled by 1 aspmx.l.google.com. geekflare.com mail is handled by 5 alt1.aspmx.l.google.com. geekflare.com mail is handled by 5 alt2.aspmx.l.google.com. geekflare.com mail is handled by 10 alt3.aspmx.l.google.com. geekflare.com mail is handled by 10 alt4.aspmx.l.google.com.
หากต้องการค้นหาระเบียน MX ของโดเมน
หากต้องการรับรายการระเบียน MX ( Mail Exchanger ) ของโดเมน
host -t MX target-domain
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host -t mx geekflare.com geekflare.com mail is handled by 1 aspmx.l.google.com. geekflare.com mail is handled by 5 alt1.aspmx.l.google.com. geekflare.com mail is handled by 5 alt2.aspmx.l.google.com. geekflare.com mail is handled by 10 alt3.aspmx.l.google.com. geekflare.com mail is handled by 10 alt4.aspmx.l.google.com.
ระเบียน MX นี้มีหน้าที่กำหนดเส้นทางอีเมลไปยังเซิร์ฟเวอร์อีเมล
เพื่อค้นหาระเบียน TXT ของโดเมน
หากต้องการรับรายการระเบียน TXT (ข้อมูลที่มนุษย์อ่านได้เกี่ยวกับเซิร์ฟเวอร์โดเมน) ของโดเมน
host -t txt target-domain
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host -t txt geekflare.com geekflare.com descriptive text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A" geekflare.com descriptive text "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM" geekflare.com descriptive text "yandex-verification: 42f25bad396e79f5" geekflare.com descriptive text "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all" geekflare.com descriptive text "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0" geekflare.com descriptive text "ca3-7fbfaa573ba248ddb17a618e5b46ca01"
เพื่อค้นหาระเบียน SOA โดเมน
ในการรับรายการบันทึก SOA ( start of Authority ) ของโดเมน
host -t soa target-domain
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host -t soa geekflare.com geekflare.com has SOA record olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
ใช้คำสั่งด้านล่างเพื่อเปรียบเทียบบันทึก SOA จากเนมเซิร์ฟเวอร์ที่เชื่อถือได้ทั้งหมดสำหรับโซนใดโซนหนึ่ง (ส่วนเฉพาะของเนมสเปซ DNS)
host -C target-domain
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host -C geekflare.com 2 ⨯ Nameserver 173.245.58.137: geekflare.com has SOA record olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
เพื่อค้นหาระเบียน CNAME ของโดเมน
CNAME ย่อมาจากบันทึกชื่อตามรูปแบบบัญญัติ ระเบียน DNS นี้มีหน้าที่ในการเปลี่ยนเส้นทางโดเมนหนึ่งไปยังอีกโดเมนหนึ่ง ซึ่งหมายความว่าจะจับคู่ชื่อโดเมนดั้งเดิมกับชื่อแทน
หากต้องการค้นหาระเบียน CNAME DNS ของโดเมน ให้ใช้คำสั่งด้านล่าง
host -t cname target-domain
ตัวอย่างผลลัพธ์:
┌──(geekflare㉿kali)-[~] └─$ host -t cname geekflare.com geekflare.com has no CNAME record
หากชื่อโดเมนเป้าหมายมีระเบียน CNAME ใด ๆ ก็จะปรากฏหลังจากรันคำสั่ง
เพื่อค้นหาข้อมูลโดเมน TTL
TTL ย่อมาจาก Time to live เป็นส่วนหนึ่งของเซิร์ฟเวอร์ชื่อโดเมน มันถูกตั้งค่าโดยอัตโนมัติโดยเนมเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับระเบียน DNS แต่ละรายการ
พูดง่ายๆ ก็คือ TTL หมายถึงระยะเวลาที่เซิร์ฟเวอร์ DNS แคชระเบียนก่อนที่จะรีเฟรชข้อมูล ใช้คำสั่งด้านล่างเพื่อดูข้อมูล TTL ของชื่อโดเมน
host -v -ta target-domain
ตัวอย่างผลลัพธ์:
┌──(rootkali)-[/home/geekflare] └─# host -v -ta geekflare.com 1 ⨯ Trying "geekflare.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2479 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;geekflare.com. IN A ;; ANSWER SECTION: geekflare.com. 30 IN A 104.27.119.115 geekflare.com. 30 IN A 104.27.118.115 Received 63 bytes from 192.168.1.1#53 in 60 ms
บทสรุป
ฉันหวังว่าคุณจะพบว่าบทความนี้มีประโยชน์ในการเรียนรู้ตัวอย่างคำสั่งโฮสต์ที่มีประโยชน์สำหรับการสืบค้นรายละเอียด DNS
คุณอาจสนใจที่จะเรียนรู้เกี่ยวกับเครื่องมือออนไลน์ฟรีเพื่อตรวจสอบบันทึก DNS ของชื่อโดเมน