我想从他们的IP地址检索访问者的城市,州和国家等信息,以便我可以根据他们的位置自定义我的网页.有没有一种好的,可靠的方法在PHP中执行此操作?我使用JavaScript进行客户端脚本编写,使用PHP进行服务器端脚本编写,使用MySQL进行数据库访问.
我正在编写一个非常简单的网络过滤器,并且到达我想要解析IPv6标头的位置以匹配ICMPv6类型,TCP/UDP端口号等内容.
所以我正在深入阅读有关IPv6数据包格式的文章,我有点......好吧......我不得不一遍又一遍地阅读它,以确保我实际上正确地阅读它.在我看来,你必须从40字节的固定标头开始,看看它的下一个标题字段.然后你必须查看下一个标题的下一个标题字段,依此类推,就像一个链表,直到你到达结尾.如果有有效载荷,它将随之而来.
问题是固定标头或扩展标头中没有长度字段.您必须有一个扩展标题类型及其大小的表,以便您可以追踪此链接列表到最后.
这让我感到奇怪,甚至可能是一个奇怪的设计.如果遇到无法识别的扩展标头类型怎么办?我该怎么办?我不知道它的长度.我想我必须抛出数据包并阻止它,因为在允许数据包通过的网络过滤器中,攻击者可以通过包含伪造的头类型来逃避网络过滤器.但这意味着如果协议被扩展,如果要使用新的扩展,则必须同时更新所写的每个IPv6报头解析软件.
那么如果我不知道他们正在使用的扩展,我该如何解析IPv6头?如何跳过未知扩展名的标题,因为我不知道它的长度?
我在没有网络连接的本地机器上玩套接字.见下文:
IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works
Run Code Online (Sandbox Code Playgroud)
那究竟什么是::1IP地址?它是默认的可用IP地址还是环回地址?具有专用IP地址和网络连接的机器上面的代码(工作线)会发生什么?
编辑:
确切代码用于将特定IP地址绑定到套接字.这里是:
ServicePoint sp = ServicePointManager.FindServicePoint(uri);
sp.BindIPEndPointDelegate = new BindIPEndPoint(Bind);
// here's the bind delegate:
private IPEndPoint Bind(ServicePoint sp, IPEndPoint ep, int retryCount)
{
return new IPEndPoint(IPAddress.Parse("::1"), 0);
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个将标准IPv4地址转换为整数的函数.可用于相反功能的奖励积分.
解决方案应该在C#中.
你可以帮帮我:是否可以在Android中设置代理设置(特别是在Chrome中)?我必须在测试期间在Android上更改IP.或者有一些软可以帮助我解决这个问题......
我正在使用这个PHP代码来获取访问者的IP地址:
<?php echo $_SERVER['REMOTE_ADDR']; ?>
Run Code Online (Sandbox Code Playgroud)
但是,当他们使用代理时,我无法从访问者那里获得真正的IP地址.在这种情况下,有没有办法获取访问者的IP地址?
我正在尝试将字符串(例如表示IP地址10.0.2.50)转换为InetAddressobj.
根据API,可以创建提供表示主机名(例如www.google.ch)的字符串的Object .这不是我的选择,因为我没有我想要创建的每个InetAddress对象的主机名(除了它需要太长时间).
是否可以将String(例如10.0.2.50)转换为InetAddressobj.(根据api,如果你有IP byte[],可以这样做,但是如何将String包含IP的转换为byte[]?)
是否有来自某个大公司的公共API来从程序中获取我的公共IP?
我发现http://ip-address.domaintools.com/myip.xml,这正是我想要的,但不幸的是它阻止了Python urllib以及许多其他的http库,除非你欺骗用户代理(任何做这件事的东西都不能称为API).
问题是我需要这些数据用于一些潜在的开源库,所以我们必须遵守规则.我也知道我可以做类似的事情print $_SERVER[REMOTE_ADDR],但我不想使用我的库为所有人提供流量服务.
那么,是否有类似上面的URL,但真正的API,允许机器人?
ip ×10
php ×3
c# ×2
android ×1
api ×1
domain-name ×1
geoip ×1
geolocation ×1
inetaddress ×1
integer ×1
ipv4 ×1
ipv6 ×1
java ×1
linux ×1
networking ×1
proxy ×1
system.net ×1