本教程介紹瞭如何在 Linux 終端驗證域名或計算機名的 IP 地址。本教程將容許你一次檢查多個域。你可能已經使用過這些命令來驗證信息。可是,咱們將教你如何有效使用這些命令在 Linux 終端中識別多個域的 IP 地址信息。linux
可使用如下 5 個命令來完成此操做。git
dig
命令:它是一個用於查詢 DNS 名稱服務器的靈活命令行工具。host
命令:它是用於執行 DNS 查詢的簡單程序。nslookup
命令:它用於查詢互聯網域名服務器。fping
命令:它用於向網絡主機發送 ICMP ECHO_REQUEST 數據包。ping
命令:它用於向網絡主機發送 ICMP ECHO_REQUEST 數據包。爲了測試,咱們建立了一個名爲 domains-list.txt
的文件,並添加了如下域。github
# vi /opt/scripts/domains-list.txt
2daygeek.com
magesh.co.in
linuxtechnews.com
複製代碼
dig 命令表明 「域名信息抓手」,它是一個功能強大且靈活的命令行工具,用於查詢 DNS 名稱服務器。ruby
它執行 DNS 查詢,並顯示來自查詢的名稱服務器的返回信息。大多數 DNS 管理員使用 dig
命令來解決 DNS 問題,由於它靈活、易用且輸出清晰。bash
它還有批處理模式,能夠從文件讀取搜索請求。服務器
# dig 2daygeek.com | awk '{print $1,$5}'
2daygeek.com. 104.27.157.177
2daygeek.com. 104.27.156.177
複製代碼
使用如下 bash 腳本查找多個域的 IP 地址。網絡
# vi /opt/scripts/dig-command.sh
#!/bin/bash
for server in `cat /opt/scripts/domains-list.txt`
do echo $server "-"
dig $server +short
done | paste -d " " - - -
複製代碼
添加以上內容到腳本後,給 dig-command.sh
文件設置可執行權限。dom
# chmod +x /opt/scripts/dig-command.sh
複製代碼
最後運行 bash 腳本得到輸出。工具
# sh /opt/scripts/dig-command.sh
2daygeek.com - 104.27.156.177 104.27.157.177
magesh.co.in - 104.18.35.52 104.18.34.52
linuxtechnews.com - 104.27.144.3 104.27.145.3
複製代碼
若是要在一行中運行上面的腳本,請使用如下腳本。測試
# for server in 2daygeek.com magesh.co.in linuxtechnews.com; do echo $server "-"; dig $server +short; done | paste -d " " - - -
複製代碼
或者,你可使用如下 Shell 腳本查找多個域的 IP 地址。
# for server in 2daygeek.com magesh.co.in linuxtechnews.com; do dig $server | awk '{print $1,$5}'; done
2daygeek.com. 104.27.157.177
2daygeek.com. 104.27.156.177
magesh.co.in. 104.18.34.52
magesh.co.in. 104.18.35.52
linuxtechnews.com. 104.27.144.3
linuxtechnews.com. 104.27.145.3
複製代碼
host 命令是一個簡單的命令行程序,用於執行 DNS 查詢。它一般用於將名稱轉換爲 IP 地址,反之亦然。若是未提供任何參數或選項,host
將打印它的命令行參數和選項摘要。
你能夠在 host
命令中添加特定選項或記錄類型來查看域中的全部記錄類型。
# host 2daygeek.com | grep "has address" | sed 's/has address/-/g'
2daygeek.com - 104.27.157.177
2daygeek.com - 104.27.156.177
複製代碼
使用如下 bash 腳本查找多個域的 IP 地址。
# vi /opt/scripts/host-command.sh
for server in `cat /opt/scripts/domains-list.txt`
do host $server | grep "has address" | sed 's/has address/-/g'
done
複製代碼
添加以上內容到腳本後,給 host-command.sh
文件設置可執行權限。
# chmod +x /opt/scripts/host-command.sh
複製代碼
最後運行 bash 腳本得到輸出。
# sh /opt/scripts/host-command.sh
2daygeek.com - 104.27.156.177
2daygeek.com - 104.27.157.177
magesh.co.in - 104.18.35.52
magesh.co.in - 104.18.34.52
linuxtechnews.com - 104.27.144.3
linuxtechnews.com - 104.27.145.3
複製代碼
nslookup 命令是用於查詢互聯網[域名服務器(DNS)] 5的程序。
nslookup
有兩種模式,分別是交互式和非交互式。交互模式容許用戶查詢名稱服務器以獲取有關各類主機和域的信息,或打印域中的主機列表。非交互模式用於僅打印主機或域的名稱和請求的信息。
它是一個網絡管理工具,能夠幫助診斷和解決 DNS 相關問題。
# nslookup -q=A 2daygeek.com | tail -n+4 | sed -e '/^$/d' -e 's/Address://g' | grep -v 'Name|answer' | xargs -n1
104.27.157.177
104.27.156.177
複製代碼
使用如下 bash 腳本查找多個域的 IP 地址。
# vi /opt/scripts/nslookup-command.sh
#!/bin/bash
for server in `cat /opt/scripts/domains-list.txt`
do echo $server "-"
nslookup -q=A $server | tail -n+4 | sed -e '/^$/d' -e 's/Address://g' | grep -v 'Name|answer' | xargs -n1 done | paste -d " " - - -
複製代碼
添加以上內容到腳本後,給 nslookup-command.sh
文件設置可執行權限。
# chmod +x /opt/scripts/nslookup-command.sh
複製代碼
最後運行 bash 腳本得到輸出。
# sh /opt/scripts/nslookup-command.sh
2daygeek.com - 104.27.156.177 104.27.157.177
magesh.co.in - 104.18.35.52 104.18.34.52
linuxtechnews.com - 104.27.144.3 104.27.145.3
複製代碼
fping 命令是相似 ping
之類的程序,它使用互聯網控制消息協議(ICMP)echo 請求來肯定目標主機是否響應。
fping
與 ping
不一樣,由於它容許用戶並行 ping 任意數量的主機。另外,它能夠從文本文件輸入主機。
fping
發送 ICMP echo 請求,並以循環方式移到下一個目標,而且不等到目標主機作出響應。
若是目標主機答覆,那麼將其標記爲活動主機並從要檢查的目標列表中刪除;若是目標在特定時間限制和/或重試限制內未響應,那麼將其指定爲不可訪問。
# fping -A -d 2daygeek.com magesh.co.in linuxtechnews.com
104.27.157.177 (104.27.157.177) is alive
104.18.35.52 (104.18.35.52) is alive
104.27.144.3 (104.27.144.3) is alive
複製代碼
ping 命令(數據包互聯網抓手)是一個網絡程序,用於測試 Internet 協議(IP)網絡上主機的可用性/鏈接性。
經過向目標主機發送互聯網控制消息協議(ICMP)Echo 請求數據包並等待 ICMP Echo 應答來驗證主機的可用性。
它基於發送的數據包、接收的數據包、丟失的數據包,一般包含最小/平均/最大時間來彙總統計結果。
# ping -c 2 2daygeek.com | head -2 | tail -1 | awk '{print $5}' | sed 's/[(:)]//g'
104.27.157.177
複製代碼
使用如下 bash 腳本查找多個域的 IP 地址。
# vi /opt/scripts/ping-command.sh
#!/bin/bash
for server in `cat /opt/scripts/domains-list.txt`
do echo $server "-"
ping -c 2 $server | head -2 | tail -1 | awk '{print $5}' | sed 's/[(:)]//g'
done | paste -d " " - -
複製代碼
添加以上內容到腳本後,給 ping-command.sh
文件設置可執行權限。
# chmod +x /opt/scripts/ping-command.sh
複製代碼
最後運行 bash 腳本得到輸出。
# sh /opt/scripts/ping-command.sh
2daygeek.com - 104.27.156.177
magesh.co.in - 104.18.35.52
linuxtechnews.com - 104.27.144.3
複製代碼
via: www.2daygeek.com/linux-comma…
做者:Magesh Maruthamuthu 選題:lujun9972 譯者:geekpi 校對:wxy