【问题标题】:How to Convert Between IP(v4/v6) Address (and Port) and String?如何在 IP(v4/v6) 地址(和端口)和字符串之间进行转换?
【发布时间】:2023-04-10 11:37:01
【问题描述】:

我正在尝试将一些使用 RtlIpv4StringToAddressExA/RtlIpv6StringToAddressExARtlIpv6AddressToStringExA/RtlIpv4AddressToStringExA 的 Windows 代码移植到 Linux,但似乎找不到相当等效的 API。似乎有很多方法可以将 IP 地址转换为字符串(并返回),但我找不到支持该端口的东西。

例如,将[2001:4898:d8:34:b912:426d:1c88:5859]:443 从字符串转换为 IP 地址(并​​返回)。

重申一下,我明确需要一个将 port 考虑在内的 API。

【问题讨论】:

  • 你必须自己拆分端口号。
  • 我明确地在寻找一个已经可以做到这一点的 API。 Windows 已经有一个。我很难相信其他平台上没有其他人有这个问题。
  • 如果确实没有 Linux API 支持移植语法,那么移植已经使用此功能的现有 Windows 代码将会很痛苦。
  • 自己写可能很简单。

标签: c linux string ipv6 ipv4


【解决方案1】:

没有 API 可以做到这一点。您必须自己拆分端口号。

另请参阅this answer,其中提到大多数实用程序使用-p port 参数而不是:port 来指定端口。

如果你真的想要这样的东西,自己写可能会很简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-01
    • 2011-08-25
    • 2021-10-15
    • 1970-01-01
    • 2022-01-13
    • 2020-09-15
    相关资源
    最近更新 更多