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

发布于 2024-08-30 20:16:48 字数 284 浏览 11 评论 0原文

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

谢谢!

My goal is to calculate the directed broadcast address when given the IP and subnet mask of a host node. I know, sounds like homework. Once I reasoned through my task and boiled it down to this, I was amused with myself. Anyway, the solution will look something like the one in this question I suppose, but I'm not a math major and my C sucks. I could do with a PowerShell (preferred) or C# example to get me going.

thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼眸 2024-09-06 20:16:48

请参阅此处了解一些 PowerShell IP 数学函数,包括计算广播地址的函数。使用直接 -bNot 进行计算的问题是它返回一个有符号 int64,这会弄乱任何需要无符号数字表示的按位运算。

See here for some PowerShell functions for IP math, including one that will calculate the broadcast address. The problem with using straight-up -bNot for the calculation is that it returns a signed int64, which kind of messes up any bitwise operations that are needing unsigned representation of the number.

过去的过去 2024-09-06 20:16:48

这是我的,它使用 NetTCPIP< 中的 Get-NetIPAddress /a> 和 IPAddress 来自 系统.Net

$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

Here is mine which uses Get-NetIPAddress from NetTCPIP and IPAddress from the System.Net:

$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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文