标签: ipv6

如何在linux下获取接口的IPv6地址

你知道我如何在python2.6中获得我的一个接口的IPv6地址之一.我尝试了一些套接字模块,这让我无处可去.

谢谢.

python linux ipv6

6
推荐指数
1
解决办法
2481
查看次数

在PHP中检测IPv6?

我目前正在检测用户的IPv4地址并在v4中使用IP块.但是我想捕获IPv6并且也有这样的阻止列表,所以问题是:将IPv6作为IPv4或PHP中的不同之处是否相同?我只是不确定每个设备是否都有IPv4和IPv6,或者它是否是其中之一,系统会自动检测它是什么格式并存储它?

php ip-address ipv6

6
推荐指数
1
解决办法
2090
查看次数

为什么只采用IP V4和V6?

好吧,我知道,这次我将被禁止ip禁用:D我的问题很奇怪:为什么只有V4然后跳到V6才被采用!为什么在听到互联网历史时我们找不到IP V3或IP V2 ?! 为什么他们只是采用IP V5,这是逻辑不?

因为personnaly(我是愚蠢的)我认为4和6是使用的字节数...

ip history ipv4 ipv6

6
推荐指数
1
解决办法
2474
查看次数

将IPv4客户端连接到IPv6服务器:连接被拒绝

我正在试验IPv6套接字,特别是Windows Vista及更高版本提供的"双栈"功能,默认情况下显然在Unix上.我发现当我将服务器绑定到特定的IP地址或本地计算机的主机名解析时,我无法接受来自IPv4客户端的连接.但是当我绑定到INADDR_ANY时,我可以.

请考虑我的服务器的以下代码.您可以看到我遵循Microsoft的建议创建IPv6套接字,然后将IPV6_V6ONLY标志设置为零:

addrinfo* result, *pCurrent, hints;

memset(&hints, 0, sizeof hints);    // Must do this!
hints.ai_family = AF_INET6;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;     // We intend to use the addrinfo in a call to connect().  (I know it is ignored if we specify a server to connect to...)

int nRet = getaddrinfo("powerhouse", "82", &hints, &result);

SOCKET sock = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);

int no = 0;
if (setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&no, sizeof(no)) != 0)
    return -1;

if (bind(sock, result->ai_addr, result->ai_addrlen) …
Run Code Online (Sandbox Code Playgroud)

c++ sockets ipv4 ipv6

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

如何使用 shell 验证 IPv6 地址格式?

在我的 shell 中,我需要检查字符串是否是有效的 IPv6 地址。

我找到了两种方法,对我来说它们都不够理想。

一个是http://twobit.us/2011/07/validating-ip-addresses/,而我想知道对于如此常见的要求是否必须如此复杂。

另一种是在shell脚本中扩展ipv6地址,这很简单,但对于Linux的主要发行版,sipcalc并不是一个常见的默认实用程序。

所以我的问题是,是否有一种简单的方法或实用程序可以使用 shell 验证 IPv6 地址?

提前致谢。

validation bash shell ipv6

6
推荐指数
1
解决办法
3909
查看次数

如何判断IPv6地址是否私有?

我试图确定给定的 IPv6 地址在 C# 中是否是私有的,并且我很想简单地使用 IPAddress 类上的“IsIPv6SiteLocal”属性。但是,正如此评论中所解释的,此属性中实现的逻辑已被弃用。我运行了以下单元测试:

[TestMethod]
public void IsPrivate_ipv6_True()
{
    // This sample private IPv6 address was generated using: http://unique-local-ipv6.com/
    var ip = IPAddress.Parse("fd44:fda4:e1ba::1");
    Assert.IsTrue(ip.IsIPv6SiteLocal);
}
Run Code Online (Sandbox Code Playgroud)

单元测试中的断言失败,这确认 IsIPv6SiteLocal 无法正确确定地址是否为本地地址。所以我需要一个替代方案。

我编写了以下扩展方法,我想知道是否有人能想到一种无法正确确定地址是私有/公共的场景。

public static bool IsPrivateIPv6(this IPAddress address)
{
    var addressAsString = address.ToString();
    var firstWord = addressAsString.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries)[0];

    // Make sure we are dealing with an IPv6 address
    if (address.AddressFamily != AddressFamily.InterNetworkV6) return false;

    // The original IPv6 Site Local addresses (fec0::/10) are deprecated. Unfortunately …
Run Code Online (Sandbox Code Playgroud)

c# ipv6

6
推荐指数
1
解决办法
6010
查看次数

iOS IAP不能在ipv6上工作

我在Appstore中有一款iPhone游戏,我最近尝试使用最新的Xcode上传更新的版本,但它被拒绝了,因为inApp-buying不支持ipv6网络.它与ipv4网络一起工作正常.

//
//  ViewController.m
//

NSMutableArray * arrayOfSection;
NSMutableArray * sectionHeaders;
NSString *error;

#import "CoinsController.h"
#import "NSString+SBJSON.h"

#import <CommonCrypto/CommonDigest.h>

@implementation CoinsController

@synthesize bkg;

-(void) callPurchaseId:(NSString*)iapId amount:(NSUInteger)ncoins{
    SKPayment *payment = [SKPayment paymentWithProductIdentifier:iapId];
    //[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] addPayment:payment];

    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(fadeOut:finished:context:)];
    viewLoading.alpha = 0.9;
    [UIView commitAnimations];
    loadingtext.text = @"Processing Purchase";
    NSLog(@"Processing Purhcase");

    //    currentGem = [NSString stringWithFormat:@"vegas%@", @"80k"];
    [CommonUtilities encryptString:[NSString stringWithFormat:@"%lu", (unsigned long)ncoins]:@"c"];

    NSLog(@"Processing");
}
- (IBAction)purchaseCoins:(id)sender{

    UIButton *button = (UIButton *)sender;

    NSLog(@"%li", (long)button.tag);
    switch (button.tag) {
        case …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c ipv6 in-app-purchase ios

6
推荐指数
1
解决办法
2142
查看次数

如何在Unity中使.Net HttpWebRequest IPv6 DNS64/NAT64兼容?

Apple已经强制要求所有应用程序必须支持IPv6 DNS64/NAT64兼容性,并且我正在升级我们的应用程序以执行此操作.在大多数情况下,我们使用的是高级Unity API,所以这不是问题.

但是,在一个应用程序中,我们需要使用较低级别的System.Net.HttpWebRequest接口,以支持稍微复杂的"PUT"操作,以及一些返回的数据.

这被证明是有问题的.当我们尝试HttpWebRequest.BeginGetRequestStream()时,我们在System.Net.HttpWebRequest.SetWriteStreamError中得到一个NameResolutionFailure异常.我们在普通的IPv4网络上看不到此例外.

这向我表明DNS失败,因此我们使用HttpWebRequest的方式出了问题.HttpWebRequest是否与.Net版本Unity使用(.NET 2.0)不符合IPv6?我没有成功搜索文档.

此时我的下一步是开始编写套接字级代码以在此应用程序中支持IPv6,或者为iOS编写自定义插件.这些都不是我想要追求的途径,所以我希望其他人能提出更好的计划.

ipv6 c#-2.0 unity5

6
推荐指数
0
解决办法
420
查看次数

如何在nodejs expressjs中将ipv6地址转换为ipv4地址?

的的NodeJS Request对象提供了这种方法req.connection.remoteAddres获取客户端的IP地址,但它给人以IPv6格式的地址,我怎么把它转换成IPv4格式哪个更可读?

ipv4 ipv6 httprequest request-object node.js

6
推荐指数
1
解决办法
5512
查看次数

是否有一个java api可以识别ipv6地址fd00 :: as local/private?

我正在寻找一个能够正确识别给定IP地址是私有还是本地的java api.此代码似乎适用于大多数ipv4/ipv6地址:

    boolean isLocalIp = InetAddress.getByName(ipAddr).isSiteLocalAddress() ||
                        InetAddress.getByName(ipAddr).isLinkLocalAddress() ||
                        InetAddress.getByName(ipAddr).isLoopbackAddress() ;
Run Code Online (Sandbox Code Playgroud)

特别地,它将"fec0 ::"标识为本地/私有类型地址,但是它不将例如"fc00 ::"或"fd00 ::"标识为本地/私有类型地址.

查看此维基百科链接https://en.wikipedia.org/wiki/Private_network#IPv6:

地址块fc00 ::/7由IANA保留用于唯一本地地址(ULA).[2] 它们是单播地址,但在路由前缀中包含一个40位随机数,以防止两个专用网络互连时发生冲突.尽管本质上是本地使用,但唯一本地地址的IPv6地址范围是全局的.

定义的第一个块是fd00 ::/8,专为/ 48路由块设计,用户可以根据需要创建多个子网.

任何人都可以帮助解释这里是否有一些错误的假设(例如,"fc00 ::"或"fd00 ::"应该被识别为本地/私有ipv6地址)或者是否有一些其他java api将正确识别所有本地/私人IP地址?

感谢您的任何反馈/答案!

java ipv4 ipv6

6
推荐指数
1
解决办法
138
查看次数