标签: ipv6

强制python mechanize/urllib2只使用A请求?

这是一个相关的问题,但我无法弄清楚如何应用mechanize/urllib2的答案:如何强制python httplib库只使用A请求

基本上,给出这个简单的代码:

#!/usr/bin/python
import urllib2
print urllib2.urlopen('http://python.org/').read(100)
Run Code Online (Sandbox Code Playgroud)

这导致wireshark说以下内容:

  0.000000  10.102.0.79 -> 8.8.8.8      DNS Standard query A python.org
  0.000023  10.102.0.79 -> 8.8.8.8      DNS Standard query AAAA python.org
  0.005369      8.8.8.8 -> 10.102.0.79  DNS Standard query response A 82.94.164.162
  5.004494  10.102.0.79 -> 8.8.8.8      DNS Standard query A python.org
  5.010540      8.8.8.8 -> 10.102.0.79  DNS Standard query response A 82.94.164.162
  5.010599  10.102.0.79 -> 8.8.8.8      DNS Standard query AAAA python.org
  5.015832      8.8.8.8 -> 10.102.0.79  DNS Standard query response AAAA 2001:888:2000:d::a2
Run Code Online (Sandbox Code Playgroud)

这是一个5秒的延迟!

我的系统中没有启用IPv6(gentoo编译 …

python mechanize urllib ipv6

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

C中的IPv6解析

我想知道如何在C中解析IPv6地址并将其转换为128位值?

所以十六进制地址1:22:333:aaaa:b:c:d:e需要转换为128位等效二进制.问题是IP地址可以是类型::2及其变体,因为它们是有效的IPv6地址.

输入来自键盘,因此是ASCII格式.

c parsing ipv6

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

IPv5去哪儿了?

既然我们都在转向IPv6,无论我们是否愿意,我都会问:IPv5发生了什么?对于它的哥哥来说,它不够酷,还是在那个规范上做了其他事情?

networking standards ipv4 ipv6

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

Rails IPv6服务器

我正在使用一个开发服务器,我目前只有IPv6连接,我正在开发一个rails应用程序.

我试图用来bundle exec rails s -e development -p 3003 -d启动服务器,但它似乎只绑定到IPv4:

tcp        0      0 0.0.0.0:3003                0.0.0.0:*                   LISTEN      27165/ruby          
Run Code Online (Sandbox Code Playgroud)

因此我无法连接到它.什么是我最好的选择?我不是很熟悉rails只是试图解决现有应用程序上的一些问题.

版本信息:

:; ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
:; rails --version
Rails 3.2.8
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ipv6 ruby-on-rails-3

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

使用命令行阻止mosquitto(MQTT)代理监听端口

当我第一次运行Mosquitto(MQTT)经纪人时没有问题.但是,当他第二次使用默认配置运行它时,由于以下错误,我无法成功运行代码:

1379497253:mosquitto版本1.2(构建日期2013-09-17 17:59:39 + 0530)启动1379497253:使用默认配置.1379497253:在端口1883上打开ipv6侦听套接字.1379497253:错误:地址已在使用中

我想知道如何从命令行停止代理.如果有人可以提供帮助,那就太好了.

sockets ipv6 mqtt mosquitto

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

基于IP地址的用户登录限制是否支持ipv6用于Web应用程序?

有没有人知道如何根据c#dot net中的Web应用程序的IPV6地址限制用户登录?

我已经使用IPV4完成了这项功能并且工作正常,但我想根据用户的IPV6来限制用户的Web应用程序.

这可能吗?

.net c# authentication ipv6 ip-restrictions

11
推荐指数
1
解决办法
172
查看次数

如何阅读IPv6地址的TENTATIVE标志?

我正在使用ioctl()系统调用prgramtically分配ipv6地址.我想知道是否有办法,我可以发现分配的ip是暂定/重复?

谢谢.

c linux ipv6

10
推荐指数
1
解决办法
2612
查看次数

URL的fopen()中断域名,而不是数字地址

经过几个小时尝试调试遇到fopen()问题的第三方应用程序后,我终于发现了这一点

php -r 'echo(file_get_contents("http://www.google.com/robots.txt"));'
Run Code Online (Sandbox Code Playgroud)

失败了,但是

php -r 'echo(file_get_contents("http://173.194.32.81/robots.txt"));'
Run Code Online (Sandbox Code Playgroud)

成功.请注意,作为网络服务器用户,我可以ping www.google.com并且它解析得很好.

我把两个PHP的执行都绑定了,它们分歧如下:

对于数字v4 URL:

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("173.194
poll([{fd=3, events=POLLOUT}], 1, 0)    = 0 (Timeout)
...[bunch of poll/select/recvfrom]...
close(3)                                = 0
Run Code Online (Sandbox Code Playgroud)

对于域名:

socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 3
close(3)                                 = 0
Run Code Online (Sandbox Code Playgroud)

似乎PHP甚至没有尝试对该套接字做任何事情.或者甚至解决域名问题.WTF?

使用或不使用ipv6支持重新编译PHP似乎并不重要.不希望在此系统上禁用ipv6.

Gentoo Linux,PHP 5.3.14,目前试用PHP 5.4并看看它是否有帮助.有人有想法吗?

编辑:

php -r 'echo gethostbyname("www.google.com");'
Run Code Online (Sandbox Code Playgroud)

工作并产生一个ipv4,而

php -r 'echo(file_get_contents("http://[2a00:1450:4007:803::1011]/"));'
Run Code Online (Sandbox Code Playgroud)

似乎返回空白结果.

编辑2:

我第一次没注意到,当使用名称时打开的v6套接字是SOCK_DGRAM.这个PHP试图解析域名吗?我尝试在resolv.conf中将我的解析器从127.0.0.1切换到:: 1,但它没有帮助.

php linux ipv6

10
推荐指数
1
解决办法
1213
查看次数

将IPv4和IPv6地址存储在一个列中

我希望能够在我的表中存储IPv4和IPv6地址.无论是IPv4还是IPv6地址,存储用户IP地址的最有效方法是什么?

这将在生产环境中使用,因此未来的证据建议是首选.

mysql ipv4 ipv6

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

在boost :: asio中一起接受IPv4和IPv6

简短而简单的问题:我是新手boost::asio,我想知道是否有可能同时tcp::acceptor监听IPv4和IPv6连接.关于boost主页的教程显示如下:

_acceptor = new tcp::acceptor(_ioService, tcp::endpoint(tcp::v4(), 3456));
Run Code Online (Sandbox Code Playgroud)

始终使用特定协议指定端点.是否无法同时在同一端口上侦听IPv4和IPv6?

c++ ip-address ipv4 ipv6 boost-asio

10
推荐指数
1
解决办法
4363
查看次数