标签: ipv6

IPv6地址到域名

我正在寻找一个以 IPv6 地址作为参数并返回域名的函数。

明确地说,2a00:1450:8006::68 返回 ipv6.google.com。

(目的是将该域名提供给 getaddrinfo 函数。)

谢谢 :-)

edit1:我已经尝试过getaddrinfo("2a00:1450:8006::68", "http", NULL, &result);,它返回“不支持主机名的地址系列”并getaddrinfo("ipv6.google.com", "http", NULL, &result);返回错误“没有地址与热名关联”。

EDIT2:我同意你的观点,我的 IPV6 系统有问题,我尝试过http://test-ipv6.com/,看来我没有 IPV6 地址,但ifconfig它返回:

adr inet6: fe80::15b:fcff:fe65:d516/64 Scope:Lien
Run Code Online (Sandbox Code Playgroud)

c networking network-programming ipv6 getaddrinfo

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

迭代两个 IPV6 地址之间的地址范围

我需要某种方法来迭代两个 IPv6 地址之间的地址范围。即,如果第一个 IP 是2a03:6300:1:103:219:5bff:fe31:13e1,第二个 IP 是2a03:6300:1:103:219:5bff:fe31:13f4,我想访问该范围内的 19 个地址。

对于 IPv4,我只需在结果结构中inet_aton进行字符串表示和获取htonls_addr但是对于 IPv6 我该如何做到这一点呢?

为了简化:

struct in6_addr sn,en;
long i;

s="2a03:6300:1:103:219:5bff:fe31:13e1";
e="2a03:6300:1:103:219:5bff:fe31:13f4";

inet_pton(AF_INET6,s,&sn);
inet_pton(AF_INET6,e,&en);
Run Code Online (Sandbox Code Playgroud)

[..]

for (i = _first_ipv6_representation; i<=_second_ipv6_representation; i++){
    /* stuck here */
}
Run Code Online (Sandbox Code Playgroud)

c iteration ipv6

3
推荐指数
1
解决办法
2435
查看次数

不常见的 IP 符号

我知道可以将 IPv4 中的 IP 写为整数,例如2130706433而不是127.0.0.1

造成这种可能性的原因是什么?

IPv6 有类似的表示法吗?

我尝试ping -6 1ping ::1,但这不起作用(主机不存在)。

ip ipv4 ipv6 notation

3
推荐指数
1
解决办法
1099
查看次数

组播MAC地址是什么意思?

Linux服务器启动时,会发出一些组播数据包。目的MAC地址是33:33:00:00:00:02

我想知道多播地址是否是众所周知的?是不是有什么特殊的意义呢?是否有众所周知的组播MAC地址列表?

ip tcp ethernet ipv4 ipv6

3
推荐指数
1
解决办法
5214
查看次数

IPv6零压缩

对以下 IPv6 地址使用零压缩时

2001:0DB8:0000:CD30:0000:0000:0000:0000/60
Run Code Online (Sandbox Code Playgroud)

为什么这是不正确的:

2001:DB8::CD30::/60
Run Code Online (Sandbox Code Playgroud)

...虽然这是:

2001:DB8:0:CD30::/60
Run Code Online (Sandbox Code Playgroud)

networking ipv6

3
推荐指数
1
解决办法
1309
查看次数

如何将 Node.js 与 IPv6 结合使用?

基本上,我想知道如何更改我的 server.js 代码以使其能够与 IPv6 配合使用?我在某处读到,您只需要在“listen(80)”行旁边添加您的 IPv6 地址,这将使它看起来像这样“listen (80, “IPv6”);”

然而,在我的代码中,情况比这要复杂一些。

以下是与服务器相关的代码行:

const 

server = http.createServer(options, app),
                   .
                   .
                   .
var ss=tls.createServer(options, function (box) {
    box.setEncoding('utf8');
                   .
                   .


         ss.listen(8010);
              .
              .


var sockets = require('socket.io').listen(server).of('/el');
                   .
                   .
                   .
if (!module.parent) {
  server.listen(port, function () {
    console.log('Listening', this.address());
  })
}
Run Code Online (Sandbox Code Playgroud)

ipv6 node.js

3
推荐指数
1
解决办法
1万
查看次数

将 IPv6 地址转换为 IP 号码的公式

IPV6我正在寻找将地址转换为数字的公式IP。这需要使用我们拥有的 geoip 位置信息进行映射。

输入IPV6地址:2001:0db8:0000:0000:0000:ff00:0042:8329

输出转换后的 IP 号码:42540766411282592856904265327123268393

谢谢...

formula ipv6 converters

3
推荐指数
1
解决办法
4591
查看次数

IPv6重组

RFC8200明确规定分片仅由源节点完成,而不由任何中间节点完成。它还说碎片在接收器处重新组装。我是否可以由此得出结论,重组在接收方完成,除了目的地之外没有其他节点可以重组数据包?

ipv6 ip-fragmentation

3
推荐指数
1
解决办法
796
查看次数

如何通过 IPv6 正确发送电子邮件?

我正在我的 iOS 和 Android 应用程序中开发电子邮件发送功能。

这是使用 OpenSSL 通过 Gmail 发送电子邮件的功能。

我正在使用 Delphi 10.2.3 Tokyo 和 Indy 10。

我向 iTunes Connect 提交了我的 iOS 应用程序,但他们拒绝了我的应用程序,因为此功能在 IPv6 中不起作用。

他们说

我们在通过连接到 IPv6 网络的 Wi-Fi 运行 iOS 11.4.1 的 iPad 和 iPhone 上进行审核时,发现您的应用存在一个或多个错误。

他们还向我发送了错误的屏幕截图:

解析地址 smtp.gmail.com 时发生错误:(8)

如何修复此错误以便正确使用 IPv6?我的代码如下:

Procedure MailSend; 
Var
  Connected: Boolean; 
Begin 
  IdSMTP := TIdSMTP.Create(nil); 
  try 
    IdSMTP.Host     := 'smtp.gmail.com'; 
    IdSMTP.Port     := 587; 
    IdSMTP.Username := 'xxxx@gmail.com'; // UserName 
    IdSMTP.Password := 'xxxx';       // Password 
    SSL := TIdSSLIOHandlerSocketOpenSSL.Create; 

    try 
      SSL.Host := IdSMTP.Host; 
      SSL.Port := IdSMTP.Port; …
Run Code Online (Sandbox Code Playgroud)

delphi ipv6 ios

3
推荐指数
1
解决办法
398
查看次数

IPv4 标头包含校验和,但 IPv6 中不包含校验和,为什么?

我进行了更多探索以找出为什么从 ipv6 中删除校验和,但我无法得到确切的答案,IPv6 中的可变字段如何受到保护?

security networking checksum ipv6

3
推荐指数
1
解决办法
2219
查看次数