标签: ipv6

使用C++对ipv6地址进行比较操作

由于IPV6地址有16个字节且它们没有数据类型存储在c ++中,我想存储IPV6地址,并对IPv6地址进行一些比较,请告诉我怎么做

c++ ipv6

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

PHP的preg_match问题与IPv6有关

我在PHP中匹配ip地址.所以我的检查是:

function checkIP($ip){
    $ip = trim($ip);
    if (preg_match("\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", $ip)) return true;
    $v6pattern = "/
(\A([0-9a-f]{1,4}:){1,1}(:[0-9a-f]{1,4}){1,6}\Z)|
(\A([0-9a-f]{1,4}:){1,2}(:[0-9a-f]{1,4}){1,5}\Z)|
(\A([0-9a-f]{1,4}:){1,3}(:[0-9a-f]{1,4}){1,4}\Z)|
(\A([0-9a-f]{1,4}:){1,4}(:[0-9a-f]{1,4}){1,3}\Z)|
(\A([0-9a-f]{1,4}:){1,5}(:[0-9a-f]{1,4}){1,2}\Z)|
(\A([0-9a-f]{1,4}:){1,6}(:[0-9a-f]{1,4}){1,1}\Z)|
(\A(([0-9a-f]{1,4}:){1,7}|:):\Z)|
(\A:(:[0-9a-f]{1,4}){1,7}\Z)|
(\A((([0-9a-f]{1,4}:){6})(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})\Z)|
(\A(([0-9a-f]{1,4}:){5}[0-9a-f]{1,4}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3})\Z)|
(\A([0-9a-f]{1,4}:){5}:[0-9a-f]{1,4}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\Z)|
(\A([0-9a-f]{1,4}:){1,1}(:[0-9a-f]{1,4}){1,4}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\Z)|
(\A([0-9a-f]{1,4}:){1,2}(:[0-9a-f]{1,4}){1,3}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\Z)|
(\A([0-9a-f]{1,4}:){1,3}(:[0-9a-f]{1,4}){1,2}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\Z)|
(\A([0-9a-f]{1,4}:){1,4}(:[0-9a-f]{1,4}){1,1}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\Z)|
(\A(([0-9a-f]{1,4}:){1,5}|:):(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\Z)|
(\A:(:[0-9a-f]{1,4}){1,5}:(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\Z)
/x";
    if (preg_match($v6pattern, $ip)) return true;
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个错误: warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in C:\xampp\htdocs\index.php on line 5

第5行是 if (preg_match("\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", $ip)) return true;

怎么了?

php regex ipv6

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

通过IPv6的HTTP请求

我想知道GET从IPv4服务器到IPv6服务器使用的HTTP 请求的头格式之间的区别?

现在,我目前使用以下格式:

"GET /"+myFileToDownLoad+" HTTP/1.1\r\n"+
            "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*\r\n"
            +"Referer: http://"+myDstIp+"/\r\n"
            +"Accept-Language: he\r\n"
            +"Accept-Encoding: gzip, deflate\r\n"
            +"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n"
            //+"Host: "+myDstIp+"\r\n"
            +"Host: "+((myHost==null)?myDstIp:myHost)+"\r\n"
            +"Connection: Close\r\n\r\n";
Run Code Online (Sandbox Code Playgroud)

那么,如果我想使用IPv6服务器,是否有必要更改格式?

header http ipv6

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

如果我将IPv4地址应用到IPv4套接字,我可以假设accept(3)返回IPv4地址吗?

我们s是通过由插座的文件描述符socket(PF_INET, ...).

如果我打电话accept(s, (struct sockaddr *) &addr, ...),哪里addr是类型struct sockaddr_in,我可以假设返回地址的格式是IPv4,即,

addr.sin_family == AF_INET

unix posix network-programming ipv4 ipv6

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

在 linux 上检索 eth0 ipv6 地址

我希望在我的一个 shell 脚本中使用我的 eth0 ipv6 地址。我可以使用 ifconfig 和 grep 来检索它,但我确定它一定在某个我没有看到的文本文件中的某个地方,这最终会使检索变得更加容易。有谁知道我应该在哪里看?

谢谢

linux scripting ip-address ipv6 ifconfig

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

IPv6下的网络字节顺序是否无意义?

如果我们使用32位整数来存储IPv4地址,则必须考虑整数的字节顺序.

但是,由于几乎所有平台下都没有内置的128位整数类型,因此必须将IPv6地址存储到字节数组中,因此,我认为字节顺序不再是问题.

我对么?或者IPv6是否有相应的功能htonlXXX?

c c++ ipv4 ipv6 htonl

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

ICMP IPv6数据包的最大大小

参考这个问题和ASIO库,我想知道ICMP v6应答包的最大大小是多少.我正在使用ASIO库来监听和接收ICMPv6数据包,但我不知道使用什么大小的缓冲区来防止缓冲区溢出.我对IPv6支持扩展标头感到困惑.

例如:

asio::streambuf replyBuffer;
replyBuffer.consume(replyBuffer.size());
size_t length = icmpV6Socket->receive(replyBuffer.prepare(65536) );
Run Code Online (Sandbox Code Playgroud)

ping ipv6 icmp boost-asio

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

IPv6 组播示例

我已经搜索了如何实现一个简单的 ipv6 多播示例的示例,但是我只找到了使用 ipv4 的示例。

任何人都可以提供一个简单的“helloworld”ipv6 多播示例吗?

java multicast ipv6 multicastsocket

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

查询Maxmind GeoLite2 City阻止SQL Server中的csv获取IPv6和IPv4地址的geoname_id

Maxmind有两个免费的GeoLite2 cvs文件,我们可以用它来查找与IP地址范围相关的位置.我想在SQL Server中创建一个使用导入的表([GeoLite2_City_Blocks]和[GeoLite2_City_Locations])的存储过程,获取在IP地址中传递的varchar(45)字符串并返回与该IP地址关联的位置.我原本以为网上会有相关的T-SQL代码,但我找不到它.

我查看了在SQL中查询GeoLite2国家CSV,但我根本不明白Prefix_Length(在Blocks表中称为Network_mask_Length),是或是.如果它们与CIDR前缀相同(请参阅:http://en.wikipedia.org/wiki/IPv6_subnetting_reference),我会更加困惑,因为Network_mask_Length可能是118,119或任何其他未显示的数字那个维基百科页面.

我已经看到一个网页在SQL Server中讨论IPv6,建议使用零进行填充以进行比较.我想不能简单地查询免费的GeoLite2而不至少在该表的最终IP地址中添加一个额外的列?

我想我可以从IPv4地址前面删除":: ffff:",如果这是正确的说法.但我仍然没有得到如何将network_mask_length(前缀)字段转换为我理解的内容.然后填零IPv6地址,但后来我仍然不知道该前缀是什么.

我的问题是:

  1. 是否有可以让我走上正轨的示例代码?要么,
  2. 我需要做什么来创建一个接受IPv4或IPv6地址的proc,并返回相关位置或geoname_id?

t-sql sql-server ipv4 ipv6 maxmind

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

禁用IPv6 for python脚本

我正在寻找一种在一个特定python脚本中抑制AAAA解析的通用方法.有一个简单的方法吗?

我使用Youtube Data API for python,它使用httplib2作为握手的东西.我想我需要一些低级的东西,如套接字覆盖或其他东西.

要查找的域是谷歌域,因此使用特定前缀的IPv6首选项选项将无法正常工作.

底层问题是我的IPv6地址目前位于伊拉克的地理位置是错误的......我已经提交了修复该请求的请求,但同时希望运行该脚本.

python ipv6

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