标签: ipv6

问题将ipv6转换为ipv4

我在asp.net应用程序中有一些代码需要获取客户端计算机的ipv4地址(用户都在我们自己的网络上).最近我们将应用程序运行的服务器升级到Windows 2008服务器.现在,当客户端在较旧的操作系统上时,Request.UserHostAddress代码返回ipv4,而当它们在较新的操作系统(Vista和更高版本)上时,返回ipv6.因此,依赖于此的功能适用于某些客户而非其他客户.

我添加了应该从ipv6转换为ipv4的代码,以尝试解决此问题.这是来自这个在线教程:http://www.4guysfromrolla.com/articles/071807-1.aspx.我正在使用dsn.GetHostAddress然后循环返回的IP寻找一个"InterNetwork"

foreach (IPAddress IPA in Dns.GetHostAddresses(HttpContext.Current.Request.UserHostAddress))
{
    if (IPA.AddressFamily.ToString() == "InterNetwork")
    {
        IP4Address = IPA.ToString();
        break;
    }
}

if (IP4Address != String.Empty)
{
    return IP4Address;
}


foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
    if (IPA.AddressFamily.ToString() == "InterNetwork")
    {
        IP4Address = IPA.ToString();
        break;
    }
}

return IP4Address;
Run Code Online (Sandbox Code Playgroud)

问题是这不适合我.从ipv4连接的客户端继续返回客户端计算机的正确ipv4 IP,但是从Vista和Windows 7连接的客户端返回SERVER计算机的ipv4 IP而不是客户端计算机.

c# asp.net ipv6

8
推荐指数
2
解决办法
2万
查看次数

匿名化IPv6地址

根据几个国家/地区的法律要求,我们会在日志文件中匿名化用户的IP地址.使用IPv4我们经常只对最后两个字节进行匿名化,例如.而不是255.255.255.255我们记录255.255.*.*

您建议使用什么算法来匿名化IPv6地址?

ip ipv6 anonymity

8
推荐指数
1
解决办法
2766
查看次数

getaddrinfo中AI_V4MAPPED标志的用途是什么?

getaddrinfo调用有许多有趣的标志.我想知道AI_V4MAPPED标志的用途是什么.在没有系统的情况下,我似乎能够获得getaddrinfo来生成:: ffff:nnnn表单地址,正如我在设置此标志时所期望的那样.我期待错误的事吗?我看到了虫子吗?

特别是,如果我要求AF_INET6系列地址并指定AI_V4MAPPED,我希望看到只有DNS A(IPv4地址)记录的主机的:: ffff:nnnn地址.我通常也会期望,如果我指定AI_ALL,我将获得主机的DNS AAAA(IPv6地址)记录和:: ffff:nnnn形式的DNS A记录.

我再次期待这里所有错误的事情吗?

我在Fedora 11上测试了这个 - glibc 2.10.1和OS X 10.4.

networking network-programming ipv6

7
推荐指数
2
解决办法
2578
查看次数

需要一个哈希函数来从ipv6 16字节地址和TCP 2字节端口号创建32位值

我想创建一个32位的哈希值.我有16字节的源和目标ipv6地址和2字节的源和目标端口号.

32位输出=(Src IP,Dst Ip,Src端口,目标端口)

如果散列函数沿32位空间很好地分配实体会更好.我想将结果用作索引.

重考

c c++ networking network-programming ipv6

7
推荐指数
2
解决办法
3993
查看次数

Python使用IPv6地址解析主机名

我想知道是否有办法使用python来解析仅在ipv6中解析的主机名和/或解析在ipv4和ipv6中解析的主机名?

socket.gethostbyname()并且socket.gethostbyname_ex()不适用于ipv6解析.

一个虚拟的方法是运行实际的linux主机命令并解析结果.有没有更好的方法呢?

谢谢,

python dns ipv6

7
推荐指数
1
解决办法
5673
查看次数

Java IPv6地址字符串到字节

如何将包含ipv6的机器数据包目标的String转换为16字节数组?我知道getBytes和编码,但我似乎无法理解我应该使用哪种编码,或者我是否必须将该字符串转换为十六进制.

String ipv6 = "2001:0DB8:AC10:FE01:0000:0000:0000:0000";
byte[] bytes = ipv6.getBytes(); //must be a 16 byte array
Run Code Online (Sandbox Code Playgroud)

我想做的一个例子,仅举例说明.Obs.:我必须将String转换为16字节数组谢谢

java string encoding byte ipv6

7
推荐指数
1
解决办法
6868
查看次数

IPv6是否区分大小写

IPv6的地址区分大小写

2001年:0:5ef5:石川铃华:B5:9ca5:A266:e068

VS

2001年:0:5EF5:石川铃华:B5:9CA5:A266:E068

我猜它们都是正确的,但我需要确定.

ipv6

7
推荐指数
4
解决办法
2458
查看次数

IPv6:为什么IPv4映射会造成安全风险?

OpenBSD的手动状态:

出于安全原因,OpenBSD不会将IPv4流量路由到AF_INET6套接字,并且不支持IPv4映射地址,其中IPv4流量被视为来自IPv6地址,如:: ffff:10.1.1.1.如果需要接受IPv4和IPv6流量,请在两个插槽上进行侦听.

但是,没有关于这些"安全原因"的解释.这些是什么?我想不出任何与该映射相关的安全问题.

sockets security openbsd ipv4 ipv6

7
推荐指数
1
解决办法
394
查看次数

您的应用程序在连接到IPv6网络的运行iOS 11.2.5的iPad或iPhone上崩溃,但为什么?

使用此消息拒绝的应用程序版本之一您的应用程序在连接到IPv6网络的运行iOS 11.2.5的iPad或iPhone上崩溃.问题是应用程序没有单一的网络功能或功能,所以我无法理解发生了什么.

这是应用程序的第4版,旧版本已经存储.在最后一个版本中,我们刚刚删除了一个问题,导致应用程序在新的iOS版本中失败文本.

ipv6 ios

7
推荐指数
1
解决办法
4224
查看次数

如何在 docker compose 版本中启用 IPv6:>= 3?

我需要为我的 docker 容器启用 IPv4/IPv6 双栈支持。我的 docker compose 文件是版本 3。默认情况下启用 IPv4,但如何为我的 docker 容器/网络启用 IPv6?

我已经尝试通过更新 daemon.json 来更新 docker 守护进程,我知道更新正在被识别,因为如果文件中有错误,Docker 将不会启动。进行更改后,我重新启动了 Docker(不仅仅是我的容器),但我的容器仍然没有 IPv6 地址。

我发现enable_ipv6: truedocker compose 文件对版本 3 或更高版本无效,我不想按文件版本降级。

我更新的 daemon.json:

{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64"
}
Run Code Online (Sandbox Code Playgroud)

当我检查我的容器时,在对 daemon.json 进行更改后,使用 docker inspect {id} 我看到以下内容:

"NetworkSettings": {
            "Bridge": "",
            "SandboxID": "df737362d15722fc1b0501ac256ba371417fe513dede807f2a17bd0524630a31",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "9000/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/df737362d157",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0, …
Run Code Online (Sandbox Code Playgroud)

ipv6 docker docker-compose docker-networking

7
推荐指数
1
解决办法
5140
查看次数