คำสั่ง nslookup: วิธีใช้และตัวเลือก การค้นหาเรคคอร์ดและการระบุเซิร์ฟเวอร์ DNS
คำสั่ง nslookup เป็นเครื่องมือค้นหาที่ถามชื่อโดเมนกับเซิร์ฟเวอร์ DNS แล้วรับที่อยู่ IP และเรคคอร์ด DNS เช่น MX, NS, TXT กลับมา เมื่อค้นหาเรคคอร์ดของ example.com ตามชนิดบนเซิร์ฟเวอร์ AlmaLinux 9 และเปลี่ยนเซิร์ฟเวอร์ DNS ที่ถาม พบว่าโดเมนเดียวกันให้ผลต่างกันตามเซิร์ฟเวอร์ที่ถาม คือบรรทัด Non-authoritative answer ที่ต้นคำตอบหายไป หรือผลของการค้นหา ANY เปลี่ยนไป
ผลลัพธ์ด้านล่างได้จากการรันด้วยบัญชี root บนเซิร์ฟเวอร์ AlmaLinux 9.8 ที่อยู่ของเซิร์ฟเวอร์ DNS ที่ตั้งไว้บนเซิร์ฟเวอร์ถูกแทนด้วยค่าตัวอย่าง 192.0.2.53 และหมายเลขเวอร์ชันของแพ็กเกจก็ถูกแทนด้วยค่าตัวอย่างเช่นกัน
1️⃣ วิธีใช้คำสั่ง nslookup
รูปแบบพื้นฐานคือ [nslookup -ตัวเลือก ชื่อ เซิร์ฟเวอร์DNS] โดยละตัวเลือกและเซิร์ฟเวอร์ DNS ได้ ถ้าใส่แค่ชื่อ nslookup จะถามที่อยู่ของชื่อนั้นกับเซิร์ฟเวอร์ DNS ที่ตั้งไว้บนเซิร์ฟเวอร์
nslookup example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
Name: example.com
Address: 172.66.147.243
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3สองบรรทัด Server และ Address ด้านบนสุดคือเซิร์ฟเวอร์ DNS ที่รับคำถาม และ #53 ท้ายบรรทัดคือหมายเลขพอร์ต DNS ถ้าไม่ระบุชนิดเรคคอร์ด nslookup จะค้นหาเรคคอร์ด A (IPv4) แล้วตามด้วยเรคคอร์ด AAAA (IPv6) จึงมีที่อยู่ IPv6 สองรายการตามหลังที่อยู่ IPv4 สองรายการ
Non-authoritative answer หมายความว่าผู้ตอบคือเซิร์ฟเวอร์ DNS ที่เก็บค่านั้นไว้ในแคช ไม่ใช่เซิร์ฟเวอร์ที่ดูแลเรคคอร์ดของ example.com โดยตรง ดังนั้นหลังเปลี่ยนเรคคอร์ดใหม่ๆ ค่าที่ได้อาจไม่ตรงกับค่าจริง
2️⃣ ตัวเลือกของ nslookup
ตัวเลือกเขียนโดยใส่ขีดกลางไว้หน้าชื่อ
-type เป็นตัวเลือกเดียวกับ -query หรือแบบย่อ -q เมื่อถาม 8.8.8.8 ด้วย -q=mx ได้บรรทัดเซิร์ฟเวอร์อีเมลบรรทัดเดียวเหมือนกับ -type=mx
nslookup -q=mx google.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
google.com mail exchanger = 10 smtp.google.com.
Authoritative answers can be found from:-timeout และ -retry กำหนดว่าจะรอเซิร์ฟเวอร์ DNS ที่ไม่ตอบนานเท่าใด 192.0.2.1 เป็นที่อยู่ที่สงวนไว้สำหรับเอกสาร จึงไม่มีเซิร์ฟเวอร์ใดตอบ
nslookup -timeout=2 -retry=1 example.com 192.0.2.1;; connection timed out; no servers could be reachedเมื่อรันด้วย -timeout=2 -retry=1 nslookup แสดงบรรทัด [connection timed out] หลังผ่านไป 2 วินาทีแล้วจบ ถ้าเปลี่ยนเป็น -retry=2 ใช้เวลา 4 วินาที และถ้าไม่ใส่ตัวเลือกใช้เวลา 15 วินาที หากไม่อยากให้สคริปต์ค้างนานเพราะเซิร์ฟเวอร์ที่ไม่ตอบ ให้ลดทั้งสองค่าลง
ถ้าใส่ -debug จะแสดงส่วนคำถามและคำตอบของแพ็กเก็ตคำตอบตามที่ได้รับ
nslookup -debug example.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
------------
QUESTIONS:
example.com, type = A, class = IN
ANSWERS:
-> example.com
internet address = 104.20.23.154
ttl = 300
-> example.com
internet address = 172.66.147.243
ttl = 300
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Non-authoritative answer:
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 172.66.147.243
------------
QUESTIONS:
example.com, type = AAAA, class = IN
ANSWERS:
-> example.com
has AAAA address 2606:4700:10::6814:179a
ttl = 300
-> example.com
has AAAA address 2606:4700:10::ac42:93f3
ttl = 300
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3แต่ละเรคคอร์ดมี ttl = 300 ซึ่งผลลัพธ์ปกติไม่แสดง ค่านี้หมายความว่าเซิร์ฟเวอร์ DNS ที่ได้รับคำตอบนี้เก็บเรคคอร์ดไว้ในแคชได้นานสุด 300 วินาที
-norecurse ขอให้เซิร์ฟเวอร์ DNS ตอบเฉพาะค่าที่ตัวเองมี โดยไม่ไปค้นผ่านเซิร์ฟเวอร์อื่น เมื่อถาม 8.8.8.8 เดียวกันโดยไม่ใส่ตัวเลือกได้ที่อยู่สี่รายการ แต่เมื่อใส่ -norecurse กลับจบด้วย [SERVFAIL]
nslookup -norecurse example.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
** server can't find example.com: SERVFAIL| ตัวเลือก | คัดลอก | คำอธิบาย |
|---|---|---|
| -type= | ระบุชนิดเรคคอร์ดที่จะค้นหา ถ้าละไว้จะเป็น A แล้วตามด้วย AAAA | |
| -q= | ตัวเลือกเดียวกับ -type ระบุชนิดเรคคอร์ดที่จะค้นหา | |
| -timeout= | เวลารอคำตอบของคำถามแรก (วินาที) | |
| -retry= | จำนวนครั้งที่ส่งคำถามเมื่อไม่มีคำตอบ | |
| -debug | แสดงคำถามและคำตอบของแพ็กเก็ตคำตอบ รวมถึง TTL | |
| -norecurse | ขอเฉพาะค่าที่เซิร์ฟเวอร์นั้นมี โดยไม่ผ่านเซิร์ฟเวอร์อื่น |
| ตัวเลือก | คัดลอก | คำอธิบาย |
|---|---|---|
| -query= | ตัวเลือกเดียวกับ -type ระบุชนิดเรคคอร์ดที่จะค้นหา | |
| -port= | ระบุพอร์ตที่จะถาม ค่าเริ่มต้น 53 | |
| -version | แสดงเวอร์ชันแล้วจบ |
3️⃣ ค้นหาเรคคอร์ดด้วย nslookup (MX, NS, TXT, SOA)
ถ้าเขียนชนิดเรคคอร์ดต่อจาก -type= จะค้นหาเฉพาะเรคคอร์ดนั้น เขียนค่าเป็นตัวพิมพ์ใหญ่หรือเล็กก็ได้
| ค่าของ -type= | ข้อมูลที่มี |
|---|---|
| A · AAAA | ที่อยู่ IPv4, ที่อยู่ IPv6 |
| MX | เซิร์ฟเวอร์ที่รับอีเมลและลำดับความสำคัญ |
| NS | เนมเซิร์ฟเวอร์ที่ดูแลเรคคอร์ดของโดเมน |
| TXT | ค่าข้อความ เช่น SPF |
| SOA | เนมเซิร์ฟเวอร์หลักของโซน อีเมลผู้ดูแล หมายเลขซีเรียล รอบการอัปเดต |
| CNAME | ชื่อแฝงที่ชี้ไปยังอีกชื่อหนึ่ง |
| PTR | ชื่อโฮสต์ที่ผูกกับที่อยู่ IP (ย้อนกลับ) |
| ANY | ขอเรคคอร์ดทั้งหมดของชื่อนั้นในครั้งเดียว |
เซิร์ฟเวอร์อีเมลตรวจสอบด้วยเรคคอร์ด MX
nslookup -type=mx google.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
google.com mail exchanger = 10 smtp.google.com.
Authoritative answers can be found from:เลข 10 หลัง mail exchanger คือลำดับความสำคัญ ถ้ามีเซิร์ฟเวอร์อีเมลหลายเครื่อง ฝั่งผู้ส่งจะลองส่งจากเซิร์ฟเวอร์ที่มีเลขน้อยที่สุดก่อน เมื่อค้นหาแบบเดียวกันกับ example.com ได้ [mail exchanger = 0 .] และ MX ที่มีแค่จุดเดียวหมายความว่าโดเมนนี้ไม่รับอีเมล
[Authoritative answers can be found from:] ท้ายการค้นหา MX เป็นบรรทัดหัวเรื่องที่แสดงข้อมูลเนมเซิร์ฟเวอร์ที่มีสิทธิ์ซึ่งมากับคำตอบไว้ด้านล่าง ในการค้นหา MX, NS, TXT ของบทความนี้ คำตอบไม่มีข้อมูลนั้น ด้านล่างบรรทัดหัวเรื่องจึงว่าง
เรคคอร์ด NS มีเนมเซิร์ฟเวอร์ที่ดูแลเรคคอร์ดของโดเมนโดยตรง
nslookup -type=ns example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
example.com nameserver = hera.ns.cloudflare.com.
example.com nameserver = elliott.ns.cloudflare.com.
Authoritative answers can be found from:example.com มีเนมเซิร์ฟเวอร์สองเครื่อง ทั้งสองเครื่องนี้คือเนมเซิร์ฟเวอร์ที่มีสิทธิ์ของ example.com
เรคคอร์ด TXT ใส่ค่าข้อความได้โดยไม่มีรูปแบบตายตัว
nslookup -type=txt example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
example.com text = "_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
example.com text = "v=spf1 -all"
Authoritative answers can be found from:v=spf1 -all เป็นค่า SPF ที่บอกว่าไม่มีเซิร์ฟเวอร์ใดส่งอีเมลในนามโดเมนนี้ได้ ถ้าโดเมนหนึ่งมีเรคคอร์ด TXT หลายรายการ จะแสดงบรรทัดละหนึ่งรายการแบบนี้
เรคคอร์ด SOA มีข้อมูลพื้นฐานของโซนนั้น
nslookup -type=soa example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
example.com
origin = elliott.ns.cloudflare.com
mail addr = dns.cloudflare.com
serial = 2418004112
refresh = 10000
retry = 2400
expire = 604800
minimum = 1800
Authoritative answers can be found from:origin คือเนมเซิร์ฟเวอร์หลัก ส่วน mail addr คือที่อยู่อีเมลผู้ดูแลที่เขียน @ เป็นจุด serial คือหมายเลขซีเรียลที่เพิ่มขึ้นทุกครั้งที่แก้เรคคอร์ด ส่วน refresh, retry, expire เป็นค่าเวลา (วินาที) ที่เนมเซิร์ฟเวอร์รองใช้ปรับเรคคอร์ดให้ตรงกับเซิร์ฟเวอร์หลัก minimum คือเวลาที่เก็บคำตอบของเรคคอร์ดที่ไม่มีอยู่ไว้ในแคช
ชื่อแฝงตรวจสอบด้วยเรคคอร์ด CNAME เมื่อค้นหา www.github.com ได้บรรทัดเดียวที่บอกว่าเป็นชื่อแฝงของ github.com
nslookup -type=cname www.github.comServer: 192.0.2.53
Address: 192.0.2.53#53
www.github.com canonical name = github.com.-type=any ขอเรคคอร์ดทั้งหมดของชื่อนั้นในครั้งเดียว เมื่อถามเซิร์ฟเวอร์ DNS ที่ตั้งไว้บนเซิร์ฟเวอร์ ได้เรคคอร์ด A, AAAA, MX, NS มาพร้อมกัน
nslookup -type=any example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
Name: example.com
Address: 172.66.147.243
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3
example.com mail exchanger = 0 .
example.com nameserver = hera.ns.cloudflare.com.
example.com nameserver = elliott.ns.cloudflare.com.
Authoritative answers can be found from:เมื่อส่งคำถามเดียวกันไปที่ 8.8.8.8 ได้กลับมาเพียงบรรทัด [hinfo = “RFC8482”] หนึ่งบรรทัดกับบรรทัดลายเซ็น
nslookup -type=any example.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
example.com hinfo = "RFC8482" ""
example.com rdata_46 = HINFO 13 2 3600 20261029212708 20261027192708 34505 example.com. 2YBHcD7GmqHiW6E7e8Lx3z/gPoCsLbYw/Uegjy801hQ+4fYp5U7wKqc2 NXOONd8WS0xjgzfW5Dn0akDqdjltOw==
Authoritative answers can be found from:RFC 8482 เป็นเอกสารที่กำหนดให้ตอบคำถาม ANY ด้วยคำตอบสั้นๆ แทนการส่งเรคคอร์ดทั้งหมดได้ จึงควรค้นหาเรคคอร์ดที่ต้องการโดยระบุชนิดทีละชนิด
4️⃣ ระบุเซิร์ฟเวอร์ DNS ใน nslookup
ถ้าเขียนเซิร์ฟเวอร์ DNS ต่อท้ายชื่อ nslookup จะถามเซิร์ฟเวอร์นั้นแทนเซิร์ฟเวอร์ DNS ที่ตั้งไว้บนเซิร์ฟเวอร์
nslookup example.com 8.8.8.8Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 172.66.147.243
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3บรรทัด Server เปลี่ยนเป็น 8.8.8.8 และที่อยู่ทั้งสี่ตรงกับคำตอบของเซิร์ฟเวอร์ DNS ที่ตั้งไว้บนเซิร์ฟเวอร์ ใช้รูปแบบนี้หลังเปลี่ยนเนมเซิร์ฟเวอร์เพื่อตรวจว่าค่าใหม่กระจายไปถึงเซิร์ฟเวอร์ DNS สาธารณะแต่ละแห่งแล้วหรือยัง
ถ้าระบุเนมเซิร์ฟเวอร์ที่ได้จากการค้นหา NS เป็นเซิร์ฟเวอร์ DNS จะเป็นการถามเซิร์ฟเวอร์ที่มีสิทธิ์โดยตรง
nslookup example.com elliott.ns.cloudflare.comServer: elliott.ns.cloudflare.com
Address: 2606:4700:58::a29f:2ce4#53
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 172.66.147.243
Name: example.com
Address: 2606:4700:10::6814:179a
Name: example.com
Address: 2606:4700:10::ac42:93f3ครั้งนี้บรรทัด Non-authoritative answer หายไป เพราะเป็นค่าที่เซิร์ฟเวอร์ผู้ดูแลเรคคอร์ดตอบเอง จึงเป็นค่าปัจจุบันที่ไม่ผ่านแคช ส่วน Address ใต้บรรทัด Server แสดงที่อยู่ IPv6 ของเนมเซิร์ฟเวอร์นี้
ถ้าค้นหาชื่อที่ไม่มีอยู่จะได้ [NXDOMAIN] .invalid เป็นโดเมนระดับบนสุดที่สงวนไว้ไม่ให้ใช้งานจริง จึงได้คำตอบว่าไม่มีชื่อนี้
nslookup example.invalidServer: 192.0.2.53
Address: 192.0.2.53#53
** server can't find example.invalid: NXDOMAINส่วน no-such-host.example.com จบด้วย [No answer] แทน NXDOMAIN หมายความว่าเรคคอร์ดที่ถามไม่อยู่ในคำตอบ ซึ่งต่างจาก NXDOMAIN ที่ตัวชื่อเองไม่มีอยู่
nslookup no-such-host.example.comServer: 192.0.2.53
Address: 192.0.2.53#53
Non-authoritative answer:
*** Can't find no-such-host.example.com: No answer5️⃣ ค้นหาย้อนกลับด้วย nslookup
ถ้าใส่ที่อยู่ IP แทนชื่อ nslookup จะค้นหาเรคคอร์ด PTR เพื่อหาชื่อโฮสต์ที่ผูกกับที่อยู่นั้น
nslookup 8.8.8.88.8.8.8.in-addr.arpa name = dns.google.
Authoritative answers can be found from:8.8.8.8.in-addr.arpa คือชื่อที่ได้จากการเขียนที่อยู่ IPv4 กลับด้านแล้วต่อท้ายด้วย in-addr.arpa ค่าเรคคอร์ด PTR ของชื่อนี้คือ dns.google. ซึ่งเป็นชื่อโฮสต์ของ 8.8.8.8
ในการค้นหาย้อนกลับไม่มีสองบรรทัด Server ด้านบน เมื่อค้นหาที่อยู่เดียวกันด้วย nslookup 9.18 บนเซิร์ฟเวอร์ Debian 12 ก็ได้รูปแบบเดียวกัน
6️⃣ โหมดโต้ตอบของ nslookup
ถ้ารัน nslookup โดยไม่ใส่อาร์กิวเมนต์ จะเข้าสู่โหมดโต้ตอบที่มีพรอมต์ > เมื่อค้นหาหลายชื่อและหลายชนิดเรคคอร์ดต่อกัน ไม่ต้องพิมพ์คำสั่งใหม่ตั้งแต่ต้น
nslookup> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> set type=mx
> google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
google.com mail exchanger = 10 smtp.google.com.
Authoritative answers can be found from:
> set type=txt
> example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
example.com text = "_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
example.com text = "v=spf1 -all"
Authoritative answers can be found from:
> exitเปลี่ยนเซิร์ฟเวอร์ DNS ที่จะถามด้วย server และกำหนดชนิดเรคคอร์ดด้วย set type= จากนั้นพิมพ์แค่ชื่อก็ค้นหาด้วยการตั้งค่านั้นได้ พิมพ์ exit เพื่อกลับสู่เชลล์
set all แสดงค่าการตั้งค่าปัจจุบันทั้งหมด
nslookup> set type=txt
> set all
Default server: 192.0.2.53
Address: 192.0.2.53#53
Set options:
novc nodebug nod2
search recurse
timeout = 0 retry = 3 port = 53 ndots = 1
querytype = txt class = IN
srchlist = example.internal
> exitquerytype เปลี่ยนเป็น txt ที่กำหนดไว้ก่อนหน้า retry = 3 และ port = 53 เป็นค่าเริ่มต้นที่ไม่ได้เปลี่ยน
7️⃣ ติดตั้ง nslookup บน Linux และเทียบกับ dig และ host
ถ้ารัน nslookup บน Linux แล้วขึ้น [command not found] ให้ติดตั้งแพ็กเกจเครื่องมือ BIND บนเซิร์ฟเวอร์ AlmaLinux nslookup อยู่ในแพ็กเกจ bind-utils
rpm -qf /usr/bin/nslookupbind-utils-9.16.20-30.el9_8.2.x86_64บนเซิร์ฟเวอร์ Debian 12 เป็นแพ็กเกจ bind9-dnsutils ชื่อเดิม dnsutils ยังคงอยู่ในฐานะแพ็กเกจเปลี่ยนผ่านที่ติดตั้ง bind9-dnsutils
dpkg -S /usr/bin/nslookupbind9-dnsutils: /usr/bin/nslookupในตระกูล RHEL ติดตั้งแพ็กเกจ bind-utils ด้วยคำสั่งด้านล่าง
dnf install bind-utilsในตระกูล Debian ให้ติดตั้งแพ็กเกจ bind9-dnsutils
apt install bind9-dnsutilsแพ็กเกจเดียวกันมี dig และ host ด้วย ทั้งสามคำสั่งค้นหา DNS เหมือนกัน แต่รูปแบบผลลัพธ์ต่างกัน
| คำสั่ง | เอาต์พุต | ใช้เมื่อใด |
|---|---|---|
| nslookup | บรรทัด Server + คำตอบ และโหมดโต้ตอบ | ค้นหาหลายชื่อและหลายเรคคอร์ดต่อกัน |
| dig | ทุกส่วนของแพ็กเก็ตคำตอบ ถ้าใส่ +short จะได้เฉพาะค่า | เมื่อต้องการดึงเฉพาะค่าในสคริปต์ |
| host | ประโยคหนึ่งบรรทัดต่อเรคคอร์ด | ตรวจ A, AAAA, MX ในครั้งเดียว |
host example.comexample.com has address 172.66.147.243
example.com has address 104.20.23.154
example.com has IPv6 address 2606:4700:10::6814:179a
example.com has IPv6 address 2606:4700:10::ac42:93f3
example.com mail is handled by 0 .host ค้นหาเรคคอร์ด A, AAAA, MX ในครั้งเดียวแม้ไม่ใส่ตัวเลือก และแสดงเป็นประโยคบรรทัดละรายการ ถ้าใส่ +short ให้ dig จะเหลือแค่ที่อยู่ IP
dig +short example.com104.20.23.154
172.66.147.243ถ้าต้องการดึงเฉพาะค่าในสคริปต์ dig +short จัดการง่ายกว่า ส่วนถ้าตรวจหลายชื่อต่อกัน โหมดโต้ตอบของ nslookup สะดวกกว่า
🔲 ตัวจำลองคำสั่ง nslookup
ในตัวจำลองด้านล่าง คุณพิมพ์ nslookup เองได้ พร้อมเปลี่ยนชนิดเรคคอร์ดและเซิร์ฟเวอร์ DNS
🔢 FAQ & เนื้อหาแนะนำ
ค้นหา DNS
คำสั่ง host ของ Linux | คำสั่งค้นหา DNS
บทความที่สรุปวิธีหาที่อยู่ IP ของชื่อโฮสต์ด้วยคำสั่ง host และกลับกันคือหาชื่อโฮสต์จากที่อยู่ IP
ค้นหาผ่านเว็บ
เว็บไซต์ตรวจระเบียน DNS และวัดประสิทธิภาพเนมเซิร์ฟเวอร์
บทความเรื่องการตรวจค่าเรคคอร์ด DNS จากหลายภูมิภาคด้วย whatsmydns และเปรียบเทียบความเร็วตอบของเซิร์ฟเวอร์ DNS ด้วย DNSPerf
ℹ️ ประกาศเรื่องลิงก์แอฟฟิลิเอต
เนื้อหาของเว็บไซต์นี้มีลิงก์แอฟฟิลิเอต หากผู้เข้าชมซื้อสินค้าหรือบริการผ่านลิงก์เหล่านี้ เว็บไซต์นี้จะได้รับค่าคอมมิชชันจากผู้ขาย ในกระบวนการนี้ ราคาที่ผู้ซื้อจ่าย(ราคาจะลดลงเมื่อมีโปรโมชัน↓)จะไม่สูงขึ้นแต่อย่างใด ราคา ส่วนลด และข้อมูลสต็อกที่แสดงเป็นข้อมูล ณ เวลาที่เขียนและอาจต่างจากความเป็นจริง โปรดตรวจสอบกับผู้ขายอีกครั้งก่อนซื้อ การเลือกและการประเมินสินค้าเขียนตามเกณฑ์ของเราเอง และการได้รับค่าคอมมิชชันหรือไม่ไม่มีผลต่อลำดับการแนะนำหรือเนื้อหาการประเมิน