Tác giả:
Trần Lâm Đăng Khoa
Trần Lâm Đăng Khoa
Cấu trúc gói của thông điệp DNS
- Truy vấn DNS sử dụng định dạng gói chung cho cả câu truy vấn và trả lời:
- Một gói có thể chứa đến 5 thành phần, mỗi gói phải chứa thông tin HEADER, thuật ngữ “truy vấn” được dùng trong hai trường hợp:
- Thao tác DNS QUERY: một thao tác giao thức DNS cơ bản xuyên suốt những bộ (RR) được tìm kiếm trong cơ sở dữ liệu DNS.
- Thao tác DNS QUERY luôn gồm có một cây truy vấn (do client gởi) và một trả lời do máy chủ tên gởi cho client. Client có thể là một xử lý hoặc một máy chủ tên không thể cung cấp trả lời. Trạm xử lý thường đánh dấu truy vấn với một thẻ thể hiện nó là một truy vấn đệ quy, nghĩa là hỏi máy chủ tên để yêu cầu câu trả lời cuối cùng. Ngược lại, nếu truy vấn được gởi bởi máy chủ tên thì thường được đánh dấu với một thẻ thể hiện nó là một truy vấn tương tác, nghĩa máy chủ server hỏi máy chủ server khác giúp nó biên dịch, nhưng không gởi truy vấn đệ quy khi nó có thể đạt được khi cần bởi thực phép lặp.
- Tiêu đề của gói là bắt buộc và được chứa trong cả truy vấn và trả lời.
Hai bytes (16 bits) đầu tiên chứa định danh truy vấn (query ID). Định danh truy vấn được sinh ra bởi client và được chép sang trả lời của máy chủ. ID được sử dụng để kết hợp truy vấn với trả lời. Nó xác định duy nhất truy vấn nào đi kèm với trả lời nào. ID cho phép client gởi nhiều query cùng lúc mà không cần phải chờ trả lời.
- Hai bytes tiếp theo chứa các bit điều khiển:
- QDCOUNT đặc tả số các bộ của một truy vấn chứa
- ANCOUNT đặc tả số các bộ của một trả lời chứa
- NSCOUNT đặc tả số các bộ một phiên chứa các liên kết đến các máy chủ xác thực tên.
- ARCOUNT đặc tả số các bộ một phiên chứa thông tin thêm vào
Frame 2 (318 bytes on wire, 318 bytes captured)
Ethernet II, Src: Cisco_8e:1f:80 (00:15:63:8e:1f:80), Dst: Fujitsu_79:5d:0e
Internet Protocol, Src: 160.217.1.10 (160.217.1.10), Dst: 160.217.208.142
User Datagram Protocol, Src Port: domain (53), Dst Port: 1337 (1337)
Domain Name System (response)
Transaction ID: 0x000c
Flags: 0x8180 (Standard query response, No error)
1... .... .... .... = Response: Message is a response
.000 0... .... .... = Opcode: Standard query (0)
DNS Protocol
.... .0.. .... .... = Authoritative: Server is not an authority for domain
.... ..0. .... .... = Truncated: Message is not truncated
.... ...1 .... .... = Recursion desired: Do query recursively
.... .... 1... .... = Recursion available: Server can do recursive queries
.... .... .0.. .... = Z: reserved (0)
.... .... ..0. .... = Answer authenticated: Answer/authority portion was not
authenticated by the server
.... .... .... 0000 = Reply code: No error (0)
Questions: 1
Answer RRs: 3
Authority RRs: 6
Additional RRs: 6
Queries
www.google.com: type A, class IN
Answers
www.google.com: type CNAME, class IN, cname www.l.google.com
www.l.google.com: type A, class IN, addr 72.14.207.99
www.l.google.com: type A, class IN, addr 72.14.207.104
Authoritative nameservers
l.google.com: type NS, class IN, ns d.l.google.com
l.google.com: type NS, class IN, ns e.l.google.com
l.google.com: type NS, class IN, ns g.l.google.com
l.google.com: type NS, class IN, ns a.l.google.com
l.google.com: type NS, class IN, ns b.l.google.com
l.google.com: type NS, class IN, ns c.l.google.com
Additional records
a.l.google.com: type A, class IN, addr 216.239.53.9
b.l.google.com: type A, class IN, addr 64.233.179.9
c.l.google.com: type A, class IN, addr 64.233.161.9
d.l.google.com: type A, class IN, addr 64.233.183.9
e.l.google.com: type A, class IN, addr 66.102.11.9
g.l.google.com: type A, class IN, addr 64.233.167.9
(còn tiếp)
Comment