草庐IT

ipv6 的 Linux tcp 设置

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。关闭8年前。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明可以在哪里回答问题。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedby

linux - 如何查询特定邻居的 IPv6 NDP(邻居发现协议(protocol))表

我正在使用Linux并试图找出如何查询(通过API)特定条目的NDP表。到目前为止我找到的唯一示例(在iproute2的源代码中)使用Netlink并获取整个表。有没有办法在特定接口(interface)上查询Netlink的特定IPv6地址?或者我应该采用与使用Netlink不同的方法吗? 最佳答案 不幸的是,从3.6版开始,这在Linux内核中是不可能的。有一个patchsomeonesubmitted早在2010年就添加了这样的功能,但它从未合并到内核代码库中。您必须将整个邻居表拉入用户空间,然后在那里进行搜索。

具有 IPv6 地址的 Python TCP 套接字失败

我尝试使用IPv6地址绑定(bind)pythontcp套接字。self.__addr=('fe80::224:d7ff:fe9d:9800',5050)self.__type=socket.AF_INTE6self.__sock=socket.socket(self.__type,socket.SOCK_STREAM)forfamily,_,_,_,sockaddrinsocket.getaddrinfo(self.__addr[0],self.__addr[1],0,0,socket.SOL_TCP):iffamily==self.__type:self.__addr=sockad

c - IPv6 绑定(bind)失败

我有一个服务器实现,我需要2个单独的套接字-1个IPv4套接字套接字监听特定的IPv4地址和服务器端口X,以及一个IPv6套接字监听特定的IPv6地址和相同的服务器端口X。IPv4和IPv6地址在同一接口(interface)上。memset(&sin,0,sizeof(sin));sin.sin_family=AF_INET;sin.sin_addr.s_addr=htonl(v4addr);sin.sin_port=htons(tcp_port);我正在使用evconnlistener_new_bind创建ipv4套接字并绑定(bind)到它。对于IPv6监听器,代码如下。mems

c++ - 如何在 Linux 上使用 C/C++ 中的 ipv6 udp 套接字进行多播?

(英语不是我的母语,如果有些句子很奇怪,请不要担心;))。我正在开发一个PONG游戏,顺便创建一些类来帮助我管理窗口、事件...和网络,因为我添加了一个LAN功能游戏,但目前你必须输入你想和谁一起玩的人的地址。对此的解决方案是广播(为玩家扫描LAN)。这对于ipv4来说很容易,只需使用地址255.255.255.255但我们在2017年提供了一个仅适用于ipv4的功能......然后我寻找一种使用ipv6进行广播的方法,并学习了多播,但这部分让我迷路了。=(我在C++中使用Linux上的标准库,我发现了几个不适合我的多播示例。我目前所做的最好的事情是从程序的一个实例向同一台计算机上的另

python - linux下如何获取接口(interface)的IPv6地址

你知道我如何在python2.6中获取我的接口(interface)之一的IPv6地址之一吗?我用socket模块尝试了一些东西,但我无处可去。谢谢。 最佳答案 netifaces模块应该这样做。importnetifacesaddrs=netifaces.ifaddresses('eth0')addrs[netifaces.AF_INET6][0]['addr'] 关于python-linux下如何获取接口(interface)的IPv6地址,我们在StackOverflow上找到一个

linux - 使用 getaddrinfo 缓存 DNS

我正在使用系统调用getaddrinfo()从DNS获取IP地址。我想知道缓存信息是否存储在Linux上?如果存储了缓存信息,是否可以清除缓存信息?我想知道如何清除缓存信息。谢谢。 最佳答案 一般来说,不会,glibc解析器不会缓存getaddrinfo结果。在运行nscd的系统上,某些名称可能会被缓存。(至少,gethostbyname可能会通过缓存;我不确定getaddrinfo。)重新启动守护程序以清除缓存。通常预期上游(可能是递归的)DNS解析器正在执行缓存。在大多数情况下,这是您无法控制的。

c - IPv4 地址的 inet_aton 规范化

inet_aton难道不应该规范化互联网地址的点版本吗?为什么我得到以下示例的不同输出值?intmain(){charUSER_IP[16]="192.168.002.025";charUSER_IP2[16]="192.168.2.25";structsockaddr_inaddr;structsockaddr_inaddr2;inet_aton(USER_IP2,&addr.sin_addr);inet_aton(USER_IP,&addr2.sin_addr);printf("addr.sin_addr:%lu\n",addr.sin_addr);printf("addr2.si

c - 我如何在 Linux 上使用 C/C++ 执行 DNS 查找?

如何使用capi(或与此相关的任何其他语言)获得与host命令类似的功能?我需要的不仅仅是gethostbyname()提供的IP地址;特别是与SMTP相关的数据。 最佳答案 如果阻塞(同步)查询没问题,只需使用res_query(),并将您的程序与-lresolv链接。len=res_query(host,C_IN,T_MX,&answer,sizeof(answer)); 关于c-我如何在Linux上使用C/C++执行DNS查找?,我们在StackOverflow上找到一个类似的问题

c - 扩展一个 IPv6 地址,以便我可以将它打印到标准输出

我正在使用getifaddrs()和inet_ntop()获取系统上的IP地址。当系统设置为IPv6时,返回的地址是缩短版本(使用::表示零)。有没有办法将该地址扩展为完整地址?这是我使用的代码:structifaddrs*myaddrs,*ifa;void*in_addr;charbuf[64];if(getifaddrs(&myaddrs)!=0){perror("getifaddrs");exit(1);}for(ifa=myaddrs;ifa!=NULL;ifa=ifa->ifa_next){if(ifa->ifa_addr==NULL)continue;if(!(ifa->i