我正在尝试使用多播 DNS 从“.local”解析 IPv4 和 IpV6,我尝试了https://github.com/posicks/mdnsjava但它无法解析所需的 ipv4/ipv6。或者,我找到了一个适合我的应用程序,但不知道它是如何工作的。
应用程序链接: https://play.google.com/store/apps/details? id=com.dokoden.dotlocalfinder
另外,我尝试使用Linux“终端 -
用于解析 ipv4 的命令”用于
avahi-resolve-host-name abc.local -4
解析 ipv6 的命令来解析
“.local” avahi-resolve-host-name abc.local -6
,并且已成功解析。
我在 Android 中尝试了相同的命令来解析“.local”,但得到Cannot run program “avahi-resolve-host-name”: error=13, Permission returned
我正在 Android 中尝试这段代码 -
Process process = Runtime.getRuntime().exec("avahi-resolve-host-name abc.local -4");
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
Log.d("OutPut",in.readLine());
Run Code Online (Sandbox Code Playgroud) 是否可以使用侦听和接受IPv6和IPv4客户端的Socket?我在C#中使用了IPv6套接字,希望它能自动向后兼容,但IPv4客户端会导致无效的IP地址异常.
我知道ntoh{s,l}和hton{s,l},它工作在2和4字节的整数.现在,我面临着翻译IPv6地址的问题,该地址长度为16个字节.
是否有为此目的的现成功能?
TIA,吉尔
我读了一些已经问过的问题,我发现这很有用,虽然我没有尝试过在PHP中使用IPv6地址
不过,说我在MySQL中有一个'禁令'表.我如何存储IPv6地址?该方法必须是通用的,即该字段必须能够包含ipv4或ipv6 addr.这也必须适用于我的users表中的ip_addr字段.
我通常会检查if(getip == $bans['ip']) { do something }
但我的getip功能是针对ipv4 afaik,我想知道它是否会起作用.
我使用的功能是
function getip()
{
if(isset($_SERVER['REMOTE_ADDR']))
{
$ip = $_SERVER['REMOTE_ADDR'];
}
elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
if(preg_match_all("#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}#s", $_SERVER['HTTP_X_FORWARDED_FOR'], $addresses))
{
foreach($addresses[0] as $key => $val)
{
if(!preg_match("#^(10|172\.16|192\.168)\.#", $val))
{
$ip = $val;
break;
}
}
}
}
if(!isset($ip))
{
if(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = '';
}
}
$ip = preg_replace("#([^.0-9 ]*)#", "", $ip);
return $ip;
}
Run Code Online (Sandbox Code Playgroud) 我想将hping3转换为hping6.hping3使用Pcap库接收IPv4数据包.但是我需要接收IPv6数据包.
我有一个现有的php web应用程序,我在IPv4上,我怎么能伪造IPv6地址来测试应用程序与它的兼容性?或者有更好的方法来测试IPv6兼容性吗?
更新:我的应用程序在进行某些操作时记录用户的IP.IP地址存储在数据库中(从另一个问题我可以理解,BINARY是最好的列类型).应用程序也应该可以通过IP进行搜索.
我希望apache/php能像我使用IPv6一样工作,我需要确保我的应用程序与IPv6的兼容性已准备好在IPv4网络+ IPv6网络上进行生产.
我正在尝试使用C#编写一个程序,作为我公司的多功能工具.我们在此工具中想要的一件事是确定IPv6是否已启用/绑定到我们的Windows 7计算机上的本地连接网络适配器.我不是在寻找它有一个地址,只是想知道它是否在该适配器上启用或禁用.我不确定如何编码.从我在网上找到的,似乎我应该使用System.Net.Configuration和Ipv6Element来检查它是否已启用,但我不知道如何编码它.我希望能够显示它是否在文本框中启用或禁用,所以我猜我会使用布尔值.有人能指出我正确的方向吗?谢谢!
在一个Web项目中。
我看到日志:
hadoop.hbase.zookeeper.ZKConfig - java.net.UnknownHostException: example.com
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
at java.net.InetAddress.getAllByName(InetAddress.java:1084)
at java.net.InetAddress.getAllByName(InetAddress.java:1020)
at java.net.InetAddress.getByName(InetAddress.java:970)
Run Code Online (Sandbox Code Playgroud)
但是当我ping example.com时,没关系,我也成功telnet example.com 2181!我发现了类似的问题,
所以我在服务器Java DomainResolutionTest example.com中
运行DomainResolutionTest,
但是没关系!
环境:
java -version
Run Code Online (Sandbox Code Playgroud)
Java版本“ 1.6.0_25”
Java™SE运行时环境(内部版本1.6.0_25-b06)
Java HotSpot(TM)64位服务器VM(内部版本20.0-b11,混合模式)
os:Red Hat Enterprise Linux Server release 5.7
我很好奇为什么是Inet6AddressImpl,我想可能是Inet4AddressImpl
怎么解决呢?
是什么原因?
Apple的新应用商店政策已于6月1日生效,因此提交至App Store的所有应用必须支持仅限IPv6的网络(https://developer.apple.com/news/?id=05042016a).如何才能在Google Cloud Platform上托管仅支持IPv4的应用程序(https://cloud.google.com/compute/docs/networking)并仍然通过Apple的审核流程?
我想将ipv6地址的简写符号转换为ipv6寻址格式的简写符号; 我知道我们可以使用ipaddress库对ip地址执行各种操作.例如,我想转换::abc:7:def为0000:0000:0000:0000:0000:0abc:0007:0def.