手机版 收藏 导航

如何使用命令行进行域名批量解析IP

原创   www.link114.cn   2024-08-29 11:50:39

如何使用命令行进行域名批量解析IP

你是否曾经遇到这样的场景:需要批量解析一大堆域名的IP地址,却不知道该如何下手?别担心,今天我就来教如何使用命令行轻松搞定这个任务!

让来聊聊为什么要使用命令行。相信大家都知道,在 Windows 下可以使用 ping 命令来解析单个域名的 IP 地址,但是当面对成千上万个域名时,手动一个个输入 ping 命令可就有点吃力。而且如果想将结果保存到文件,再次输入起来也很麻烦。

相比之下,使用命令行工具就简单多了。不仅可以一次性解析多个域名,还能直接将结果保存下来,非常方便。而且,这种方式还有一个隐藏功能,那就是能让你装X!没错,一个高大上的命令行操作,绝对能让你在朋友面前装出一副程序员的架势。

让开始吧!需要一个强大的命令行工具,我推荐使用 PowerShell。它是 Windows 自带的一个命令行工具,功能非常强大,而且上手也很简单。

接下来,需要编写一个 PowerShell 脚本。打开 PowerShell,输入以下代码:

```powershell

$domains = Get-Content -Path 'C:\path\to\domains.txt'

$results = foreach ($domain in $domains) {

$ip = [System.Net.Dns]::GetHostAddresses($domain) | Select-Object -ExpandProperty IPAddressToString

[PSCustomObject]@{

Domain = $domain

IP = $ip

} }

$results | Export-Csv -Path 'C:\path\to\results.csv' -NoTypeInformation

```

这段代码的作用是:

1. 从 `domains.txt` 文件中读取域名列表。

2. 逐个解析每个域名的 IP 地址。

3. 将域名和对应的 IP 地址保存到一个 CSV 文件中。

是不是超级简单?只需要几行代码就可以解决之前提到的问题。

但是,觉得这种方式还是有点麻烦,那么我还有一个更简单的方法给。那就是使用 `nslookup` 命令。在 PowerShell 中输入以下命令:

```powershell

$domains = Get-Content -Path 'C:\path\to\domains.txt'

$results = foreach ($domain in $domains) {

$ip = (Resolve-DnsName -Name $domain -Type A).IPAddress

[PSCustomObject]@{

Domain = $domain

IP = $ip

} }

$results | Export-Csv -Path 'C:\path\to\results.csv' -NoTypeInformation

```

这段代码的原理和上面的类似,只不过使用 `Resolve-DnsName` 命令来解析域名的 IP 地址。这个命令是 PowerShell 自带的,所以不需要安装任何其他工具就可以使用。

是不是感觉很棒?不仅可以批量解析域名 IP,还能直接保存到 CSV 文件。而且,这种方式相比于使用图形化工具,更加方便快捷,而且还能让你在朋友面前装X。

当然,觉得 PowerShell 还是有点难上手,那么我再推荐一个工具给 - `dig`。这是一个非常强大的 DNS 查询工具,在 Linux 和 macOS 上都可以使用。

在 Linux 上,可以直接使用 `apt-get` 或 `yum` 来安装 `dig`:

```

sudo apt-get install dnsutils

```

在 macOS 上,可以使用 `brew` 来安装:

```

brew install dnsutils

```

安装好 `dig` 之后,就可以使用以下命令来批量解析域名 IP :

```

cat domains.txt | xargs -n 1 dig +short

```

这个命令会读取 `domains.txt` 文件中的域名,逐个使用 `dig` 命令进行 DNS 查询,并输出 IP 地址。也可以将结果重定向到一个文件中:

```

cat domains.txt | xargs -n 1 dig +short > results.txt

```

是不是感觉很酷?使用命令行工具不仅可以提高工作效率,还能让你装上一把帅气的程序员范儿。

无论选择使用 PowerShell 还是 `dig` 命令,相信这些工具都能帮助轻松解决批量域名 IP 解析的问题。记得多练习,熟能生巧,相信一定能成为一个厉害的命令行高手!