Arch manual pages

HOST(1) 4 HOST(1)

host - 使用域名服務器查詢主機名字

host [ -l ] [ -v ] [ -w ] [ -r ] [ -d ] [ -t querytype ] [ -a ] host [ server ]

Host 查詢 Internet 主機 的 信息. 它 通過 一組 分佈在 國家間的 互連服務器 獲取 這些 信息. 缺省情況下, host 只是 簡單的 做 主機名字 和 Internet 地址 的 轉換. 然而 通過 -t-a 選項, 它 可以 用來 查找 由 域名服務器 維護的 某個主機 的 全部信息.

參數 可以是 主機名稱, 也可以是 數字地址. 此程序 首先 把它 當做 主機的 數字地址, 如果 嘗試 失敗, 再把它 當做 主機名稱. 主機的 數字地址 由 句點隔開的 四個 十進位制數 組成, 例如 128.6.4.194. 主機名稱 由 句點隔開的 名字 組成, 例如 topaz.rutgers.edu. 除非 名字 以句點 結尾, 否則 本地域名 將 自動 添加在 後面. 因此, Rutgers 的 用戶 可以 輸入

host topaz

它 實際上 查找 "topaz.rutgers.edu". 如果 嘗試 失敗, 就用 原來輸入的 名字 再試一次 (這裏就是 "topaz"). 郵件 和 其他 網絡工具 用了 同樣的 策略. 添加在 名字 後面 的 後綴 來自 調用 hostname(1) 的 結果, 使用了 第一個點 後面的 全部 數據. (另見 下面 定製查詢主機名字 的 描述. )

第一個參數 是 你 打算查詢的 主機名稱. 如果 是 數字地址, 就 執行 “ 反向查詢 (inverse query) ” 也就是說, 域名系統 查看 一系列 獨立的 數據庫, 把 數字地址 轉換成 名字.

第二個 參數 是 可選的. 它 允許你 指定查詢 某個 特定的 服務器. 如果 沒有 使用 這個參數, 就用 缺省 服務器 (一般是本地機).

如果 指定了 名字, 你 可以見到 三個 不同種類的 輸出. 這裏是 它們的 例子:

% host sun4
sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
ATHOS.RUTGERS.EDU has address 128.6.5.46
ATHOS.RUTGERS.EDU has address 128.6.4.4
ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU

用戶 鍵入的命令 是 “ host sun4 ” 第一行 表明 “ sun4.rutgers.edu ” 實際上 是 別名. 正式名字 是 “ ATHOS.RUTGERS.EDU ” 接下來 兩行 顯示 地址. 如果 系統 有 多個 網絡接口, host 就 分別 顯示 每個 接口 的 地址. 最後一行 表明 ATHOS.RUTGERS.EDU 不接收 屬於它的 郵件, 郵件 由 ARAMIS.RUTGERS.EDU 處理. 由於 某些系統 擁有 多個 處理郵件的 系統, 可能 會有 多行 這樣的顯示. 從 技術角度 看, 我們 認爲 每個 能夠 接收郵件 的 系統 應該有 這樣的項. 如果 系統 接收 它自己的 郵件, 應該 有一項 提及 該系統 自身; 例如:

Li XXX mail is handled by XXX

然而, 很多 能夠 接收 自己郵件 的 系統 不願意 提及 這個事實. 如果 系統 有一項
Li mail is handled by ,
但是 沒有 地址, 這 表明 它 不是 Internet 的 一部分, 而是 在 網絡上 轉發 郵件 的 系統. Usenet, Bitnet 和 許多 其他網絡 都有 類似項.

在 主機名字 前面 能夠 使用 很多 選項. 大多數 選項 只對 維護 域名數據庫 有意義.
-w
這一項 導致 host 永久 等待 應答. 正常情況下, 大約 一分鐘後 產生 超時.
-v
以 "繁瑣" 格式 輸出, 它是 正式的 主域文件格式, 在 手冊頁 named(8) 中 有描述. 沒有 這個選項 時, 基本術語 的 輸出 仍然 遵循 這個 格式, 但是 試圖 對 普通用戶 顯示的 更智能些. 如果 不使用 -v , 所有的 "a", "mx", 和 "cname" 項目 顯示成 相應的 "has address", "mail is handled by" 和 "is a nickname for", 而且 不顯示 TTL 和類型.
-r
查詢時 關閉 遞歸. 這 意味着 名字服務器 只返回 它 自身 數據庫 的 數據. 不向 其他服務器 詢問 更多 信息.
-d
打開 調試功能. 顯示 網絡應答細節.
-t querytype
允許 指定 querytype 來 查詢 某個信息. 手冊頁 named(8) 中 定義了 這些 參數. 目前支持的 類型有: a , ns , md , mf , cname , soa , mb , mg , mr , null , wks , ptr , hinfo , minfo , mx , uinfo , uid , gid , unspec . 另外, 通配符 (可以 寫成 any 或 * ) 可以 指定 上面的 任意(全部) 類型. 類型 必須是 小寫字符. 注意 缺省 搜索順序 首先是 a , 然後是 mx , 除非 打開了 -v 選項, 使 缺省值 只是 a . -t 選項 在過濾 host 返回的信息 時 非常有用. 更多的 內容 參見 下面 -l 選項 的 說明.
-a
全部 ; 等同於 -v -t any
-l
列出 全部域項; 例如:

host -l rutgers.edu

將 列出 rutgers.edu 域 中 所有的 主機.

-t 選項 可以 按需 過濾 收到的信息. 缺省值 是 地址信息, 包括 PTR 和 NS 記錄.

host -l -v -t any rutgers.edu

命令 以 正式主域文件格式 下載 rutgers.edu 的 全部 區域(zone) 數據. (然而 由於 某些 複雜原因, SOA 記錄 顯示了 兩次.)

注意: -l 執行 全部的 區域 傳輸, 然後 過濾出 要求的 信息. 所以 萬不得已 才用 這個 命令.

一般說來, 如果 用戶 給出的 名字 中 不含 任何 句點, host 就把 缺省域名 添加在 它的末尾. 缺省域名 能夠 定義 在 /etc/resolv.conf 中, 但是 通常 從 本機名字 的 第一個 句點 後面 提取. 用戶 可以 通過 環境變量 LOCALDOMAIN 指定 不同的 缺省域名. 另外, 用戶 可以 自定義 主機名字 的 縮寫. 縮寫 存放在 某個文件 中, 一行 一項, 格式是 一個 縮寫名字, 一個 空格, 然後是 完整的 主機名. 這個 名字文件 必須 用 HOSTALIASES 環境變量 指出.

HOSTALIASES
名字文件, 含有 (主機別名,主機全名) 對.

/etc/resolv.conf

named(8), resolver(5)

當你 輸入的 名字 不屬於 本地域 時, 將會 出現 不希望 的 現象. 請記住 除非 輸入的名字 以 點 結尾, 否則 本地域名 總會 附加在 它 後面, 失敗後 才使用 原來的 名字.

-l 選項 只 聯繫 指定域 中 的 第一個 名字服務器. 如果 這個 服務器 宕機, 你 應該 手工 指定 一個 服務器. 例如, 要 獲取 foo.edu 的清單, 可以 用

host -t ns foo.edu

獲得 foo.edu 的 全部 名字服務器, 然後 用

host -l foo.edu xxx

試驗 每一個 xxx 名字服務器, 直到 碰上 能用的.

徐明 <xuming@users.sourceforge.net>

2003/05/13

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
1994年12月15日 BSD