在 PowerShell 中计算给定 IP 地址和子网的定向广播地址

问题描述 投票:0回答:2

我的目标是在给定主机节点的 IP 和子网掩码的情况下计算定向广播地址。我知道,听起来像是家庭作业。一旦我推理出我的任务并将其归结为这一点,我就被自己逗乐了。不管怎样,我想,解决方案看起来会像这个问题中的那样,但我不是数学专业的,而且我的 C 很糟糕。我可以使用 PowerShell(首选)或 C# 示例来帮助我继续。

谢谢!

c# powershell subnet
2个回答
4
投票

请参阅此处,了解一些用于 IP 数学计算的 PowerShell 函数,其中包括计算广播地址的函数。使用直接

-bNot
进行计算的问题在于它返回一个有符号 int64,这会弄乱任何需要无符号数字表示的按位运算。


0
投票

这是我的,它使用来自

NetTCPIP
Get-NetIPAddress 和来自
System.Net
IPAddress

$NetIPAddress = Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex 25
[Net.IPAddress]::new((
    (
        [Net.IPAddress]::Parse($NetIPAddress.IPAddress).Address -band
        [uint]::MaxValue -shr (32 - $NetIPAddress.PrefixLength)
    ) -bor (
        [uint]::MaxValue -shl $NetIPAddress.PrefixLength
    )
 )).IPAddressToString
© www.soinside.com 2019 - 2024. All rights reserved.