在Powershell中获取目标ip地址(调用WebRequest)

在Powershell中获取目标ip地址(调用WebRequest),powershell,tcp,ip,Powershell,Tcp,Ip,我正在为TCP连接的自动化编写脚本,我有一个问题。当您呼叫时,是否有获取目标IP地址的选项(例如): 问题是,当我调用这个命令时,目标IP地址总是不同的,所以我不能使用像“测试连接”这样的命令。我想听听进一步的解释。我知道Google有多个公共地址,但为什么当我调用Invoke WebRequest或Test Connection时它们会不同呢 例如: 一,。 二,。 来自测试连接的IP地址命令: google.com 172.217.18.78 问候语谷歌拥有庞大的用户群。他们希望能够通过多

我正在为TCP连接的自动化编写脚本,我有一个问题。当您呼叫时,是否有获取目标IP地址的选项(例如):

问题是,当我调用这个命令时,目标IP地址总是不同的,所以我不能使用像“测试连接”这样的命令。我想听听进一步的解释。我知道Google有多个公共地址,但为什么当我调用
Invoke WebRequest
Test Connection
时它们会不同呢

例如:

一,。

二,。 来自
测试连接的IP地址
命令: google.com 172.217.18.78

问候语

谷歌拥有庞大的用户群。他们希望能够通过多个地址访问,因为这样可以提供健壮的连接和一些负载平衡。这种技术被称为。如果多个IP地址中的一个不起作用,大多数现代浏览器将使用其他地址

如果要测试与特定IP的连接,可以进行名称查找并选择其中一个结果。这样,

# Get a list of all Google IPs
$googles = [Net.Dns]::GetHostAddresses("www.google.com")
# Use IP address for the 1st entry
test-connection $googles[0].IPAddressToString

谢谢,这很有帮助!但我仍然想知道,例如,如果你调用“invokewebrequest www.google.com”,当你调用这个命令时,它会连接到特定的DNS地址,对吗?我想知道已经到达的具体地址。我该如何从这些地址中选择特定的地址?@booyah此返回的列表由您的浏览器进行迭代,没有可靠的方法知道它将选择哪一个,您可以始终选择一个IP,然后对IP而不是主机名运行
测试连接
?@booyah请详细解释您为什么对特定的Google地址感兴趣。我的感觉很刺痛。@vonPryz我想写一个脚本,用tshark分析TCP流量。因此,在开始时,我会关闭所有我可以建立internet连接的不需要的进程(例如svchost.exe或explorer.exe,您不能关闭),这样就可以清晰地捕获流量。然后我启动tshark,然后我为ceratin网站调用“Invoke-WebRequest”,最后我还想显示Wireshark过滤器,以过滤掉任何您无法关闭的irelatable捕获(从svchost、explorer等)。所以我想显示filter(ip.src==my_-ip和ip.dst==destination_-ip)。@ConnorLSW谢谢,这也非常有用。关键是命令“Invoke-WebRequest”选择了“地址,对吗?”?在那个命令之后,计算机应该知道我想要得到的那个地址。我正在做的事情在其他评论中进行了解释。没有找到从Invoke WebRequest获取它的方法,但是您可以使用底层的.Net库来获取它们。例如,请参见以下答案:
# Get a list of all Google IPs
$googles = [Net.Dns]::GetHostAddresses("www.google.com")
# Use IP address for the 1st entry
test-connection $googles[0].IPAddressToString