<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 5.2 網絡偵錯與觀察指令 在網絡的互助論壇中,最常聽到的一句話就是:『高手求救!我的 Linux 不能連上網絡了!』我的天吶!不能上網絡的原因多的很!而要完全搞懂也不是一件簡單的事情呢! 不過,事實上我們可以自己使用測試軟件來追蹤可能的錯誤原因,而很多的網絡偵測指令其實在 Linux 里頭已經都預設存在了,只要你好好的學一學基本的偵測指令,那么一些朋友在告訴你如何偵錯的時候, 你應該就立刻可以知道如何來搞定他啰! 其實我們在[第四章談到的五個檢查步驟](http://linux.vbird.org/linux_server/0130internet_connect.php#connect_fix_IP)已經是相當詳細的網絡偵錯流程了! 只是還有些重要的偵測指令也得要來了解一下才好! * * * ### 5.2.1 兩部主機兩點溝通: ping 這個 ping 是很重要的指令,ping 主要透過 [ICMP 封包](http://linux.vbird.org/linux_server/0110network_basic.php#tcpip_network_icmp) 來進行整個網絡的狀況報告,當然啦,最重要的就是那個 ICMP type 0, 8 這兩個類型, 分別是要求回報與主動回報網絡狀態是否存在的特性。要特別注意的是, ping 還是需要透過 [IP 封包](http://linux.vbird.org/linux_server/0110network_basic.php#tcpip_network_head)來傳送 ICMP 封包的, 而 IP 封包里面有個相當重要的 TTL 屬性,這是很重要的一個路由特性, 詳細的 IP 與 ICMP 表頭資料請參考[第二章網絡基礎](http://linux.vbird.org/linux_server/0110network_basic.php)的詳細介紹。 ``` [root@www ~]# ping [選項與參數] IP 選項與參數: -c 數值:后面接的是執行 ping 的次數,例如 -c 5 ; -n :在輸出數據時不進行 IP 與主機名的反查,直接使用 IP 輸出(速度較快); -s 數值:發送出去的 ICMP 封包大小,預設為 56bytes,不過你可以放大此一數值; -t 數值:TTL 的數值,預設是 255,每經過一個節點就會少一; -W 數值:等待響應對方主機的秒數。 -M [do&#124;dont] :主要在偵測網絡的 MTU 數值大小,兩個常見的項目是: do :代表傳送一個 DF (Don't Fragment) 旗標,讓封包不能重新拆包與打包; dont:代表不要傳送 DF 旗標,表示封包可以在其他主機上拆包與打包 # 范例一:偵測一下 168.95.1.1 這部 DNS 主機是否存在? [root@www ~]# ping -c 3 168.95.1.1 PING 168.95.1.1 (168.95.1.1) 56(84) bytes of data. 64 bytes from 168.95.1.1: icmp_seq=1 ttl=245 time=15.4 ms 64 bytes from 168.95.1.1: icmp_seq=2 ttl=245 time=10.0 ms 64 bytes from 168.95.1.1: icmp_seq=3 ttl=245 time=10.2 ms --- 168.95.1.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2047ms rtt min/avg/max/mdev = 10.056/11.910/15.453/2.506 ms ``` ping 最簡單的功能就是傳送 ICMP 封包去要求對方主機回應是否存在于網絡環境中,上面的響應消息當中,幾個重要的項目是這樣的: * 64 bytes:表示這次傳送的 ICMP 封包大小為 64 bytes 這么大,這是默認值, 在某些特殊場合中,例如要搜索整個網絡內最大的 MTU 時,可以使用 -s 2000 之類的數值來取代; * icmp_seq=1:ICMP 所偵測進行的次數,第一次編號為 1 ; * ttl=243:TTL 與 IP 封包內的 TTL 是相同的,每經過一個帶有 MAC 的節點 (node) 時,例如 router, bridge 時, TTL 就會減少一,預設的 TTL 為 255 , 你可以透過 -t 150 之類的方法來重新設定預設 TTL 數值; * time=15.4 ms:響應時間,單位有 ms(0.001秒)及 us(0.000001秒), 一般來說,越小的響應時間,表示兩部主機之間的網絡聯機越良好! 如果你忘記加上 -c 3 這樣的規定偵測次數,那就得要使用 [ctrl]-c 將他結束掉了! 例題:寫一支腳本程序 ping.sh ,透過這支腳本程序,你可以用 ping 偵測整個網域的主機是否有響應。此外,每部主機的偵測僅等待一秒鐘,也僅偵測一次。答:由于僅偵測一次且等待一秒,因此 ping 的選項為: -W1 -c1 ,而位于本機所在的區網為 192.168.1.0/24 ,所以可以這樣寫 (vim /root/bin/ping.sh): ``` #!/bin/bash for siteip in $(seq 1 254) do site="192.168.1.${siteip}" ping -c1 -W1 ${site} &&gt; /dev/null if [ "$?" == "0" ]; then echo "$site is UP" else echo "$site is DOWN" fi done ``` 特別注意一下,如果你的主機與待偵測主機并不在同一個網域內, 那么 TTL 預設使用 255 ,如果是同一個網域內,那么 TTL 預設則使用 64 喔! * 用 ping 追蹤路徑中的最大 MTU 數值 我們由第二章的[網絡基礎](http://linux.vbird.org/linux_server/0110network_basic.php)里面談到加大訊框 (frame) 時, 對于網絡效能是有幫助的,因為封包打包的次數會減少,加上如果整個傳輸的媒體都能夠接受這個 frame 而不需要重新進行封包的拆解與重組的話,那么效能當然會更好,那個修改 frame 大小的參數就是 [MTU](http://linux.vbird.org/linux_server/0110network_basic.php#tcpip_link_mtu) 啦! 好了,現在我們知道網絡卡的 MTU 修改可以透過 [ifconfig](#ifconfig) 或者是 [ip](#ip_cmd) 等指令來達成,那么追蹤整個網絡傳輸的最大 MTU 時,又該如何查詢?呵呵!最簡單的方法當然是透過 ping 傳送一個大封包, 并且不許中繼的路由器或 switch 將該封包重組,那就能夠處理啦!沒錯!可以這樣的: ``` # 范例二:找出最大的 MTU 數值 [root@www ~]# ping -c 2 -s 1000 -M do 192.168.1.254 PING 192.168.1.254 (192.168.1.254) 1000(1028) bytes of data. 1008 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=0.311 ms # 如果有響應,那就是可以接受這個封包,如果無響應,那就表示這個 MTU 太大了。 [root@www ~]# ping -c 2 -s 8000 -M do 192.168.1.254 PING 192.168.1.254 (192.168.1.254) 8000(8028) bytes of data. From 192.168.1.100 icmp_seq=1 Frag needed and DF set (mtu = 1500) # 這個錯誤訊息是說,本地端的 MTU 才到 1500 而已,你要偵測 8000 的 MTU # 根本就是無法達成的!那要如何是好?用前一小節介紹的 ip link 來進行 MTU 設定吧! ``` 不過,你需要知道的是,由于 [IP 封包表頭 (不含 options) 就已經占用了 20 bytes](http://linux.vbird.org/linux_server/0110network_basic.php#tcpip_network_head) ,再加上 ICMP 的表頭有 8 bytes ,所以當然你在使用 -s size 的時候,那個封包的大小就得要先扣除 (20+8=28) 的大小了。 因此如果要使用 MTU 為 1500 時,就得要下達『 ping -s 1472 -M do xx.yy.zz.ip 』才行啊! 另外,由于本地端的網絡卡 MTU 也會影響到偵測,所以如果想要偵測整個傳輸媒體的 MTU 數值, 那么每個可以調整的主機就得要先使用 ifcofig 或 ip 先將 MTU 調大,然后再去進行偵測, 否則就會出現像上面提供的案例一樣,可能會出現錯誤訊息的! 不過這個 MTU 不要隨便調整啊!除非真的有問題。通常調整 MTU 的時間是在這個時候: * 因為全部的主機群都是在內部的區網,例如叢集架構 (cluster) 的環境下, 由于內部的網絡節點都是我們可以控制的,因此可以透過修改 MTU 來增進網絡效能; * 因為操作系統默認的 MTU 與你的網域不符,導致某些網站可以順利聯機,某些網站則無法聯機。 以 Windows 操作系統作為聯機分享的主機時,在 Client 端挺容易發生這個問題; 如果是要連上 Internet 的主機,注意不要隨便調整 MTU ,因為我們無法知道 Internet 上面的每部機器能夠支持的 MTU 到多大,因為......不是我們能夠管的到的嘛 ^_^! 另外,其實每種聯機方式都有不同的 MTU 值,常見的各種接口的 MTU 值分別為︰ ``` | 網絡接口 | MTU | | --- | --- | | Ethernet | 1500 | | PPPoE | 1492 | | Dial-up(Modem) | 576 | ``` * * * ### 5.2.2 兩主機間各節點分析: traceroute 我們前面談到的指令大多數都是針對主機的網絡參數設定所需要的,而 ping 是兩部主機之間的回聲與否判斷, 那么有沒有指令可以追蹤兩部主機之間通過的各個節點 (node) 通訊狀況的好壞呢?舉例來說,如果我們聯機到 yahoo 的速度比平常慢,你覺得是 (1)自己的網絡環境有問題? (2)還是外部的 Internet 有問題?如果是 (1) 的話,我們當然需要檢查自己的網絡環境啊,看看是否又有誰中毒了?但如果是 Internet 的問題呢?那只有『等等等』啊! 判斷是 (1) 還是 (2) 就得要使用 traceroute 這個指令啦! ``` [root@www ~]# traceroute [選項與參數] IP 選項與參數: -n :可以不必進行主機的名稱解析,單純用 IP ,速度較快! -U :使用 UDP 的 port 33434 來進行偵測,這是預設的偵測協議; -I :使用 ICMP 的方式來進行偵測; -T :使用 TCP 來進行偵測,一般使用 port 80 測試 -w :若對方主機在幾秒鐘內沒有回聲就宣告不治...預設是 5 秒 -p 埠號:若不想使用 UDP 與 TCP 的預設埠號來偵測,可在此改變埠號。 -i 裝置:用在比較復雜的環境,如果你的網絡接口很多很復雜時,才會用到這個參數; 舉例來說,你有兩條 ADSL 可以連接到外部,那你的主機會有兩個 ppp, 你可以使用 -i 來選擇是 ppp0 還是 ppp1 啦! -g 路由:與 -i 的參數相仿,只是 -g 后面接的是 gateway 的 IP 就是了。 # 范例一:偵測本機到 yahoo 去的各節點聯機狀態 [root@www ~]# traceroute -n tw.yahoo.com traceroute to tw.yahoo.com (119.160.246.241), 30 hops max, 40 byte packets 1 192.168.1.254 0.279 ms 0.156 ms 0.169 ms 2 172.20.168.254 0.430 ms 0.513 ms 0.409 ms 3 10.40.1.1 0.996 ms 0.890 ms 1.042 ms 4 203.72.191.85 0.942 ms 0.969 ms 0.951 ms 5 211.20.206.58 1.360 ms 1.379 ms 1.355 ms 6 203.75.72.90 1.123 ms 0.988 ms 1.086 ms 7 220.128.24.22 11.238 ms 11.179 ms 11.128 ms 8 220.128.1.82 12.456 ms 12.327 ms 12.221 ms 9 220.128.3.149 8.062 ms 8.058 ms 7.990 ms 10 * * * 11 119.160.240.1 10.688 ms 10.590 ms 119.160.240.3 10.047 ms 12 * * * &lt;==可能有防火墻裝置等情況發生所致 ``` 這個 traceroute 挺有意思的,這個指令會針對欲連接的目的地之所有 node 進行 UDP 的逾時等待, 例如上面的例子當中,由鳥哥的主機連接到 Yahoo 時,他會經過 12 個節點以上,traceroute 會主動的對這 12 個節點做 UDP 的回聲等待,并偵測回復的時間,每節點偵測三次,最終回傳像上頭顯示的結果。 你可以發現每個節點其實回復的時間大約在 50 ms 以內,算是還可以的 Internet 環境了。 比較特殊的算是第 10/12 個,會回傳星號的,代表該 node 可能設有某些防護措施,讓我們發送的封包信息被丟棄所致。 因為我們是直接透過路由器轉遞封包,并沒有進入路由器去取得路由器的使用資源,所以某些路由器僅支持封包轉遞, 并不會接受來自客戶端的各項偵測啦!此時就會出現上述的問題。因為 traceroute 預設使用 UDP 封包,如果你想嘗試使用其他封包, 那么 -I 或 -T 可以試看看啰! 由于目前 UDP/ICMP 的攻擊層出不窮,因此很多路由器可能就此取消這兩個封包的響應功能。所以我們可以使用 TCP 來偵測呦! 例如使用同樣的方法,透過等待時間 1 秒,以及 TCP 80 埠口的情況下,可以這樣做: ``` [root@www ~]# traceroute -w 1 -n -T tw.yahoo.com ``` * * * ### 5.2.3 察看本機的網絡聯機與后門: netstat 如果你覺得你的某個網絡服務明明就啟動了,但是就是無法造成聯機的話,那么應該怎么辦? 首先你應該要查詢一下自己的網絡接口所監聽的端口 (port) 來看看是否真的有啟動,因為有時候屏幕上面顯示的 [OK] 并不一定是 OK 啊! ^_^ ``` [root@www ~]# netstat -[rn] &lt;==與路由有關的參數 [root@www ~]# netstat -[antulpc] &lt;==與網絡接口有關的參數 選項與參數: 與路由 (route) 有關的參數說明: -r :列出路由表(route table),功能如同 route 這個指令; -n :不使用主機名與服務名稱,使用 IP 與 port number ,如同 route -n 與網絡接口有關的參數: -a :列出所有的聯機狀態,包括 tcp/udp/unix socket 等; -t :僅列出 TCP 封包的聯機; -u :僅列出 UDP 封包的聯機; -l :僅列出有在 Listen (監聽) 的服務之網絡狀態; -p :列出 PID 與 Program 的檔名; -c :可以設定幾秒鐘后自動更新一次,例如 -c 5 每五秒更新一次網絡狀態的顯示; # 范例一:列出目前的路由表狀態,且以 IP 及 port number 顯示: [root@www ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 # 其實這個參數就跟 route -n 一模一樣,對吧!這不是 netstat 的主要功能啦! # 范例二:列出目前的所有網絡聯機狀態,使用 IP 與 port number [root@www ~]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State ....(中間省略).... tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 52 192.168.1.100:22 192.168.1.101:1937 ESTABLISHED tcp 0 0 :::22 :::* LISTEN ....(中間省略).... Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 11075 @/var/run/hald/dbus-uukdg1qMPh unix 2 [ ACC ] STREAM LISTENING 10952 /var/run/dbus/system_bus_socket unix 2 [ ACC ] STREAM LISTENING 11032 /var/run/acpid.socket ....(底下省略).... ``` netstat 的輸出主要分為兩大部分,分別是 TCP/IP 的網絡接口部分,以及傳統的 Unix socket 部分。 還記得我們在基礎篇里面曾經談到檔案的類型嗎?那個 socket 與 FIFO 檔案還記得吧? 那就是在 Unix 接口用來做為程序數據交流的接口了,也就是上頭表格內看到的 Active Unix domain sockets 的內容啰~ 通常鳥哥都是建議加上『 -n 』這個參數的,因為可以避過主機名與服務名稱的反查,直接以 IP 及端口號碼 (port number) 來顯示,顯示的速度上會快很多!至于在輸出的訊息當中, 我們先來談一談關于網絡聯機狀態的輸出部分,他主要是分為底下幾個大項: * Proto:該聯機的封包協議,主要為 TCP/UDP 等封包; * Recv-Q:非由用戶程序連接所復制而來的總 bytes 數; * Send-Q:由遠程主機所傳送而來,但不具有 ACK 標志的總 bytes 數, 意指主動聯機 SYN 或其他標志的封包所占的 bytes 數; * Local Address:本地端的地址,可以是 IP (-n 參數存在時), 也可以是完整的主機名。使用的格是就是『 IP:port 』只是 IP 的格式有 IPv4 及 IPv6 的差異。 如上所示,在 port 22 的接口中,使用的 :::22 就是針對 IPv6 的顯示,事實上他就相同于 0.0.0.0:22 的意思。 至于 port 25 僅針對 lo 接口開放,意指 Internet 基本上是無法連接到我本機的 25 埠口啦! * Foreign Address:遠程的主機 IP 與 port number * stat:狀態欄,主要的狀態含有: * ESTABLISED:已建立聯機的狀態; * SYN_SENT:發出主動聯機 (SYN 標志) 的聯機封包; * SYN_RECV:接收到一個要求聯機的主動聯機封包; * FIN_WAIT1:該插槽服務(socket)已中斷,該聯機正在斷線當中; * FIN_WAIT2:該聯機已掛斷,但正在等待對方主機響應斷線確認的封包; * TIME_WAIT:該聯機已掛斷,但 socket 還在網絡上等待結束; * LISTEN:通常用在服務的監聽 port !可使用『 -l 』參數查閱。 基本上,我們常常談到的 netstat 的功能,就是在觀察網絡的聯機狀態了,而網絡聯機狀態中, 又以觀察『我目前開了多少的 port 在等待客戶端的聯機』以及 『目前我的網絡聯機狀態中,有多少聯機已建立或產生問題』最常見。 那你如何了解與觀察呢?通常鳥哥是這樣處理的: ``` # 范例三:秀出目前已經啟動的網絡服務 [root@www ~]# netstat -tulnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:34796 0.0.0.0:* LISTEN 987/rpc.statd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 969/rpcbind tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1231/master tcp 0 0 :::22 :::* LISTEN 1155/sshd udp 0 0 0.0.0.0:111 0.0.0.0:* 969/rpcbind ....(底下省略).... # 上面最重要的其實是那個 -l 的參數,因為可以僅列出有在 Listen 的 port ``` 你可以發現很多的網絡服務其實僅針對本機的 lo 開放而已,因特網是連接不到該埠口與服務的。 而由上述的數據我們也可以看到,啟動 port 111 的,其實就是 rpcbind 那只程序,那如果想要關閉這個埠口, 你可以使用 kill 刪除 PID 969,也可以使用 killall 刪除 rpcbind 這個程序即可。如此一來, 很輕松的你就能知道哪個程序啟動了哪些端口啰! ``` # 范例四:觀察本機上頭所有的網絡聯機狀態 [root@www ~]# netstat -atunp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 969/rpcbind tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1155/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1231/master tcp 0 52 192.168.1.100:22 192.168.1.101:1937 ESTABLISHED 4716/0 ....(底下省略).... ``` 看到上頭的特殊字體吧?那代表目前已經建立聯機的一條網絡聯機,他是由遠程主機 192.168.1.101 啟動一個大于 1024 的埠口向本地端主機 192.168.1.100 的 port 22 進行的一條聯機, 你必須要想起來的是:『Client 端是隨機取一個大于 1024 以上的 port 進行聯機』,此外『只有 root 可以啟動小于 1024 以下的 port 』,那就看的懂上頭那條聯機啰!如果這條聯機你想要砍掉他的話, 看到最右邊的 4716 了沒? kill 會用吧! ^_^ 至于傳統的 Unix socket 的數據,記得使用 man netstat 查閱一下吧! 這個 Unix socket 通常是用在一些僅在本機上運作的程序所開啟的插槽接口文件, 例如 X Window 不都是在本機上運作而已嗎?那何必啟動網絡的 port 呢?當然可以使用 Unix socket 啰,另外,例如 Postfix 這一類的網絡服務器,由于很多動作都是在本機上頭來完成的, 所以以會占用很多的 Unix socket 喔! 例題:請說明服務名稱與 port number 的對應在 Linux 當中,是用那個檔案來設定對應的?答:/etc/services * * * ### 5.2.4 偵測主機名與 IP 對應: host, nslookup 關于主機名與 IP 的對應中,我們主要介紹的是 DNS 客戶端功能的 dig 這個指令。不過除了這個指令之外, 其實還有兩個更簡單的指令,那就是 host 與 nslookup 啦!底下讓我們來聊聊這兩個指令吧! * host 這個指令可以用來查出某個主機名的 IP 喔!舉例來說,我們想要知道 tw.yahoo.com 的 IP 時,可以這樣做: ``` [root@www ~]# host [-a] hostname [server] 選項與參數: -a :列出該主機詳細的各項主機名設定數據 [server] :可以使用非為 /etc/resolv.conf 的 DNS 服務器 IP 來查詢。 # 范例一:列出 tw.yahoo.com 的 IP [root@www ~]# host tw.yahoo.com tw.yahoo.com is an alias for tw-cidr.fyap.b.yahoo.com. tw-cidr.fyap.b.yahoo.com is an alias for tw-tpe-fo.fyap.b.yahoo.com. tw-tpe-fo.fyap.b.yahoo.com has address 119.160.246.241 ``` 瞧!IP 是 119.160.246.241 啊!很簡單就可以查詢到 IP 了!那么這個 IP 是向誰查詢的呢?其實就是寫在 [/etc/resolv.conf](http://linux.vbird.org/linux_server/0130internet_connect.php#resolv) 那個檔案內的 DNS 服務器 IP 啦!如果不想要使用該檔案內的主機來查詢,也可以這樣做: ``` [root@www ~]# host tw.yahoo.com 168.95.1.1 Using domain server: Name: 168.95.1.1 Address: 168.95.1.1#53 Aliases: tw.yahoo.com is an alias for tw-cidr.fyap.b.yahoo.com. tw-cidr.fyap.b.yahoo.com is an alias for tw-tpe-fo.fyap.b.yahoo.com. tw-tpe-fo.fyap.b.yahoo.com has address 119.160.246.241 ``` 會告訴我們所使用來查詢的主機是哪一部吶!這樣就夠清楚了吧!不過,再怎么清楚也比不過 dig 這個指令的,所以這個指令僅是參考參考啦! * nslookup 這玩意兒的用途與 host 基本上是一樣的,就是用來作為 IP 與主機名對應的檢查, 同樣是使用 [/etc/resolv.conf](http://linux.vbird.org/linux_server/0130internet_connect.php#resolv) 這個檔案來作為 DNS 服務器的來源選擇。 ``` [root@www ~]# nslookup [-query=[type]] [hostname&#124;IP] 選項與參數: -query=type:查詢的類型,除了傳統的 IP 與主機名對應外,DNS 還有很多信息, 所以我們可以查詢很多不同的信息,包括 mx, cname 等等, 例如: -query=mx 的查詢方法! # 范例一:找出 www.google.com 的 IP [root@www ~]# nslookup www.google.com Server: 168.95.1.1 Address: 168.95.1.1#53 Non-authoritative answer: www.google.com canonical name = www.l.google.com. Name: www.l.google.com Address: 74.125.71.106 ....(底下省略).... # 范例二:找出 168.95.1.1 的主機名 [root@www ~]# nslookup 168.95.1.1 Server: 168.95.1.1 Address: 168.95.1.1#53 1.1.95.168.in-addr.arpa name = dns.hinet.net. ``` 如何,看起來與 host 差不多吧!不過,這個 nslookup 還可以由 IP 找出主機名喔! 例如那個范例二,他的主機名是: dns.hinet.net 哩!目前大家都建議使用 dig 這個指令來取代 nslookup ,我們會在[第十九章 DNS 服務器](http://linux.vbird.org/linux_server/0350dns.php)那時再來好好談一談吧! * * *
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看