簡體   English   中英

使用bash和awk從多個網站提取IP

[英]Extract IPs from multiples websites using bash and awk

我正在尋找獲取多個網站IP並將其輸出為"domain.com:","1.1.1.1"的最佳方法,以實現此目標,我正在考慮使用nslookup (不確定是否是最佳選擇,但我不想使用ping)

好吧,我正在嘗試類似的東西:

for domain in $(cat domains.txt)
do
   nslookup $domain 8.8.8.8 | awk '/Address: ([[:digit:]]+\.){3}/{gsub(/\.$/,"",$1); printf "\"%s\",\"%s\"\n",$1,$NF}'; done

這樣,我得到以下輸出:

"Address:","64.233.190.101"
"Address:","64.233.190.138"
"Address:","64.233.190.100"
"Address:","64.233.190.139"
"Address:","64.233.190.113"
"Address:","64.233.190.102"
"Address:","98.137.246.8"
"Address:","98.138.219.231"
"Address:","72.30.35.9"
"Address:","72.30.35.10"
"Address:","98.138.219.232"
"Address:","98.137.246.7"
"Address:","93.184.216.34"

預期產量

"google.com","64.233.190.101"
"google.com","64.233.190.138"
"google.com","64.233.190.100"
"google.com","64.233.190.139"
"google.com","64.233.190.113"
"google.com","64.233.190.102"
"yahoo.com","98.137.246.8"
"yahoo.com","98.138.219.231"
"yahoo.com","72.30.35.9"
"yahoo.com","72.30.35.10"
"yahoo.com","98.138.219.232"
"yahoo.com","98.137.246.7"
"example.com","93.184.216.34"

domains.txt內容:

google.com
yahoo.com
example.com

我試圖這樣做,但是在輸出的"domain.com",下找不到正確的域。

我不確定是否使用$ domain或awk,誰能幫助我獲得正確的語法。 請注意,我需要在"domain.com",請求的域"domain.com",而不是nslookup中的“ Name:

謝謝。

domain="mail.yahoo.com"
nslookup "$domain" 8.8.8.8 | awk -v n="$domain" -F ' +' '$1=="Address:"{print "\""n"\",\""$2"\""}'

輸出:

"mail.yahoo.com","87.248.116.12"
"mail.yahoo.com","87.248.116.11"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM