專家
DnsServerWatcher
定義於 fuchsia.net.name/server_watcher.fidl
提供暫停取得介面,方便您監控 DNS 伺服器設定。
觀察伺服器
傳回 DNS 伺服器清單。
如果傳回空白清單,第一個呼叫一律會傳回目前伺服器清單或區塊的快照。後續呼叫會遭到封鎖,直到伺服器清單變更為止。
伺服器清單會隨設定或網路拓撲變更、到期時間等而改變。呼叫端必須重複呼叫 WatchServers
,並將任何先前傳回的 servers
替換為新的項目,以免使用過時或過期的項目。
先前的呼叫待處理時,無法呼叫此方法。這樣做會關閉通訊協定的伺服器端。
- 回應
servers
是要依優先順序排列的 DNS 解析伺服器清單。
要求
<空白>
回應
名稱 | 類型 |
---|---|
servers |
vector<DnsServer>
|
查詢電話號碼
定義於 fuchsia.net.name/lookup.fidl
提供名稱和位址解析。
查詢主機名稱
根據 IP 位址查詢主機名稱。
要求
名稱 | 類型 |
---|---|
addr |
fuchsia.net/IpAddress
|
回應
名稱 | 類型 |
---|---|
payload |
Lookup_LookupHostname_Result
|
對照表
按主機名稱查詢 IP 位址清單。
要求
名稱 | 類型 |
---|---|
hostname |
fuchsia.net/Hostname
|
options |
LookupIpOptions
|
回應
名稱 | 類型 |
---|---|
payload |
Lookup_LookupIp_Result
|
查詢管理員
定義於 fuchsia.net.name/lookup_admin.fidl
提供名稱解析設定的管理控制項。
GetDnsServers
取得目前使用的 DNS 伺服器來解析名稱查詢。
- 回應
servers
由LookupAdmin
使用的伺服器清單,按優先順序排列。
要求
<空白>
回應
名稱 | 類型 |
---|---|
servers |
vector<fuchsia.net/SocketAddress>
|
SetDnsServers
將 DNS 伺服器設為 servers
- 要求
servers
列出用於解析網域名稱的伺服器清單 (以優先順序排列)。如果清單空白,代表系統完全不會使用任何伺服器,且名稱解析作業可能會失敗。servers
中的每個SocketAddress
都必須是有效的單點傳播通訊位址。系統會刪除重複的伺服器清單。
- 如果提供的任何地址不符合上述條件,錯誤會傳回
ZX_ERR_INVALID_ARGS
。
要求
名稱 | 類型 |
---|---|
servers |
vector<fuchsia.net/SocketAddress>
|
回應
名稱 | 類型 |
---|---|
payload |
LookupAdmin_SetDnsServers_Result
|
結構
查詢管理員_SetDnsServers_Response
定義位置:fuchsia.net.name/lookup_admin.fidl
<空白>
查詢_查詢主機名稱_回應
定義位置:fuchsia.net.name/lookup.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
hostname |
fuchsia.net/Hostname
|
無預設 |
查詢_查詢 Ip_回應
定義位置:fuchsia.net.name/lookup.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
result |
LookupResult
|
無預設 |
表情符號
查詢錯誤 (嚴格)
類型:uint32
定義於 fuchsia.net.name/lookup.fidl
查詢作業錯誤。
名稱 | 值 | 說明 |
---|---|---|
未找到 |
1 |
找不到與這項查詢相符的結果, |
傳輸 |
2 |
查詢失敗,但之後可能會成功。例如網路或 DNS 伺服器可能無法連線。 |
無效引數 |
3 |
引數無效,導致查詢失敗 (例如主機名稱未正確編碼或過長)。 |
INTERNAL_ERROR |
4 |
發生內部錯誤,因此查詢失敗。 |
資料表
DhcpDnsServerSource
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
source_interface |
uint64
|
發現這個伺服器的介面索引。 |
Dhcpv6DnsServerSource
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
source_interface |
uint64
|
發現這個伺服器的介面索引。 |
DnsServer
DNS 伺服器設定。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
address |
fuchsia.net/SocketAddress
|
必須提供伺服器位址。 |
2 |
source |
DnsServerSource
|
這個伺服器的設定來源。預設值為 fuchsia.net.name/DnsServerSource.static_source。 |
查詢 Ip 選項
定義位置:fuchsia.net.name/lookup.fidl
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
ipv4_lookup |
bool
|
包含 IPv4 結果。 如果未設定,則解讀為 false。 |
2 |
ipv6_lookup |
bool
|
包含 IPv6 結果。 如果未設定,則解讀為 false。 |
3 |
sort_addresses |
bool
|
依照偏好排序地址。 也就是說,地址會按照 RFC 6724 第 6 節所述的目的地地址選擇排序。 如果未設定,則解讀為 false。 |
4 |
canonical_name_lookup |
bool
|
包含正規名稱。 如果未設定,則解讀為 false。 新增時間:12
|
查詢結果
定義位置:fuchsia.net.name/lookup.fidl
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
addresses |
vector<fuchsia.net/IpAddress>[1024]
|
查詢產生的 IP 位址。 如果要求排序, |
2 |
canonical_name |
fuchsia.net/Hostname
|
要求的主機名稱正規名稱。 僅在收到要求時提供。 新增時間:12
|
NdpDnsServerSource
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
source_interface |
uint64
|
發現這個伺服器的介面索引。 |
StaticDnsServerSource
序數 | 欄位 | 類型 | 說明 |
---|
聯合國
DnsServerSource (嚴格)
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
static_source |
StaticDnsServerSource
|
該伺服器是透過 fuchsia.net.name/LookupAdmin.SetDefaultServers 靜態設定。 |
2 |
dhcp |
DhcpDnsServerSource
|
已透過 DHCPv4 找到伺服器。 |
3 |
ndp |
NdpDnsServerSource
|
系統透過 NDP 路由器通告發現伺服器。 |
4 |
dhcpv6 |
Dhcpv6DnsServerSource
|
已透過 DHCPv6 找到伺服器。 |
查詢 Admin_SetDnsServers_Result 嚴格
定義於 fuchsia.net.name/lookup_admin.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
LookupAdmin_SetDnsServers_Response
|
|
2 |
err |
zx/Status
|
Lookup_LookupHostname_Result strict:
定義於 fuchsia.net.name/lookup.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Lookup_LookupHostname_Response
|
|
2 |
err |
LookupError
|
查詢_LookupIp_結果嚴格
定義於 fuchsia.net.name/lookup.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Lookup_LookupIp_Response
|
|
2 |
err |
LookupError
|
場景
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
MAX_ADDRESSES |
1024
|
uint16 |
查詢可傳回的地址數量上限。 |