如何将反向IP地址转换为IP地址?

如何将反向IP地址转换为IP地址?

我想将反向 DNS IP 地址列表转换为正常格式。

IE

转换43.201.125.10.in-addr.arpa10.125.201.43

可行吗?

答案1

对于IPv4digPerl

$ dig +short PTR 51.28.174.37.in-addr.arpa. |
    perl -F'[.-]' -nE 'say join ".", @F[0..3]'

作为字符串

$ echo 51.28.174.37.in-addr.arpa. |
    perl -F'[.-]' -nE 'say join ".", reverse @F[0..3]'
37.174.28.51

答案2

start cmd:> echo '43.201.125.10.in-addr.arpa' | 
    awk -F. 'NF==6 && $5=="in-addr" && $6=="arpa" { print $4 "." $3"." $2 "." $1; }'
10.125.201.43

答案3

使用普通的 bash:

input="43.201.125.10.in-addr.arpa"
IFS='.' read -ra octets <<< "$input"
printf -v ipaddr "%d.%d.%d.%d" "${octets[3]}" "${octets[2]}" "${octets[1]}" "${octets[0]}"

然后

$ declare -p ipaddr
declare -- ipaddr="10.125.201.43"

答案4

对于示例中给出的文本,awk解决方案看起来最简单:

awk -F. -v OFS="." '{print $4,$3,$2,$1}'

或一个perl

perl -F/[.]/ -lsne 'print @F[reverse 0..3]' -- -,=.

相关内容