首页 文章
  • 1 votes
     answers
     views

    将最大主机地址转换为CIDR网络掩码

    我正在尝试将最大可用主机地址'的数值转换为CIDR表示法IP,例如:192.168.1.1/28的可用主机空间为14.但是192.168.1.1/30和/ 31都有可用的主机2的空间,这是问题发挥作用的地方 . 以下代码显示了预期值和实际值: let ip = "192.168.1.1"; console.log("max hosts of 14, expe...
  • 0 votes
     answers
     views

    计算ipv6 cidr php

    我可以使用“ ip2long ”php方法从ipv4的子网掩码计算cidr . 我应该如何计算ipv6的相同内容? 例如, 我可以计算以下内容: 255.255.252.0 => /22 我应该如何为ipv6地址计算相同的内容,例如: ffff:ffff:ffff:ffff:: ffff:ffff:ffff:ffff:0:0:0:0 当我尝试相同的ipv6我没有得到任何输出? Note:...
  • 9 votes
     answers
     views

    给定子网范围和IP列表,选择IP介于其间的所有行

    我正在建模数据库中网络的各个方面 . 我们正在处理的一个更烦人的问题是创建子网范围,然后确定给定的IP集合是否在这些范围内 . 我们当前的模型通过以下列说明了IPv4和IPv6之间的差异: [subnet_sk] [int] IDENTITY(1,1) NOT NULL, [ipv6_network] [char](39) NULL, [ipv6_broadcast...
  • 2 votes
     answers
     views

    查询Maxmind GeoLite2 City阻止SQL Server中的csv获取IPv6和IPv4地址的geoname_id

    Maxmind有两个免费的GeoLite2 cvs文件,我们可以用它来查找与IP地址范围相关的位置 . 我想在SQL Server中创建一个使用导入的表([GeoLite2_City_Blocks]和[GeoLite2_City_Locations])的存储过程,获取在IP地址中传递的varchar(45)字符串并返回与该IP地址关联的位置 . 我原本以为网上会存在相关的T-SQL代码,但我找不到...
  • 5 votes
     answers
     views

    从Mac book pro(El Capitan)在iPhone上设置IPv6连接

    Apple拒绝了我的应用程序,因为它无法在IPv6连接上执行少量功能 . 我必须测试应用程序 . 我有IPv4的宽带连接 . 我在Mac上的网络共享中创建了一个NAT64连接 . 我将设备无线连接到它 . 设备显示它具有IPv6地址 . 但是,我没有任何互联网访问权限来测试我的应用程序 . This is how I created a NAT64 connection
  • 2 votes
     answers
     views

    使用IN6ADDR_SETV4MAPPED和双堆栈套接字

    这是Connecting IPv4 client to IPv6 server: connection refused的延续 . 我正在尝试使用双堆栈套接字并尝试了解哪些setsockopt与IPV6_V6ONLY有用 . 关于相关问题,我被告知"Setting IPV6_V6ONLY to 0 can be useful if you also bind the server to a...
  • 0 votes
     answers
     views

    双插头,带一个插座

    我正在开发双栈客户端 - 服务器通信 . 我很好奇:我是否必须打开两个插槽 - 一个用于IPv4和一个IPv6,或者有一个选项可以打开IPv6的套接字,它可以同时使用IPv4和IPv6连接吗?例如,如果我打开这样的套接字: SOCKET sock = socket(AF_INET6, SOCK_STREAM, 0); 然后打电话 int mode = 0; setsockopt(sock, ...
  • 3 votes
     answers
     views

    使用本地ipv6套接字将UDP发送到本地ipv4地址

    我想知道在Ubuntu 12.04上是否有可能使用其IPv4地址将具有本地链路IPv6地址的套接字的UDP数据包发送到同一无线网络上的设备 . 我已经成功使用其IPv6地址向该目标接口发送UDP数据包 . 我有一个IPv6地址的套接字,IPv6ONLY没有设置: int fd = socket(AF_INET6, SOCK_DGRAM, 0); int no = 0; setsockopt(fd,...
  • 3 votes
     answers
     views

    连接到IPv4地址时,C winsock连接被拒绝

    我正在使用winsock2编写服务器/客户端系统,当我将客户端连接到 server name 或 server IPv6 address 时它很有用 . 但是,当我使用 server IPv4 address 时,我从客户端的connect()调用中得到错误"Connection refused" . 我的客户端或使用telnet发生此错误 . 但是,我可以使用三个名称IPv4...
  • 0 votes
     answers
     views

    Winsock2 C:如何找到IPv4客户端将数据包发送到IPv6服务器的地址?

    我一直在尝试使用IPv6来设置UDP服务器,该服务器接受来自IPv4和IPv6客户端的数据包 . 我正在使用Windows中的Codeblocks在C中使用winsock2进行编程 . 我已成功接收并从朋友那里退回IPv6的数据包 . 当我发送到本地地址10.0.0.90(静态)和127.0.0.1(环回)时,我也可以通过IPv4接收和反弹来自我自己的数据包 . 显然,当不同网络上的朋友试图通过互...
  • 1 votes
     answers
     views

    PHP函数显示ipv4 ipv6

    我正在配置服务器为双栈,允许ipv4和ipv6 . 然后,我想创建一个php页面来显示客户端机器是通过ipv4,ipv6还是两者进行连接 . 我也尝试了$ _SERVER ['REMOTE_ADDR']和getenvbyhost(“REMOTE_ADDR”),但它只返回一个或另一个,而不是两者 . 我也试过下面的代码 function isIPv6($ip) { if(filter_var...
  • 1 votes
     answers
     views

    Java:绑定IPv4地址时套接字是否可以连接到IPv6地址?

    InetSocketAddress ipv4 = ...; // the IPv4 address InetSocketAddress ipv6 = ...; // the IPv6 address Socket sock = ...; // initialize a socket sock.bind(ipv4); sock.connect(ipv6, 0); 双方都支持IPv4 / IPv...
  • 6 votes
     answers
     views

    IPv6:为什么IPv4映射会造成安全风险?

    OpenBSD manual州: 出于安全原因,OpenBSD不会将IPv4流量路由到AF_INET6套接字,并且不支持IPv4映射地址,其中IPv4流量被视为来自IPv6地址,如:: ffff:10.1.1.1 . 如果需要接受IPv4和IPv6流量,请在两个插槽上进行侦听 . 但是,没有关于这些“安全原因”的解释 . 这些是什么?我想不出任何与该映射相关的安全问题 .
  • 0 votes
     answers
     views

    Pinging win2k16返回IPv6地址而不是IPv4

    我有一个win2k16虚拟机,当我在本地ping它时,它总是返回IPv6 . 我禁用了网卡上的IPv6堆栈, - 多次执行ipconfig / flushdns, - 下载并应用MS修复 在前缀策略中优先选择IPv4 over IPv6 在https://support.microsoft.com/en-us/help/929852/how-to-disable-ipv6-or-its-com...
  • 2 votes
     answers
     views

    在IPv6套接字上使用`sendto()`发送到IPv4地址

    我有一个C应用程序,它使用相同的IPv6 UDP套接字发送到IPv6或IPv4目的地 . sockfd = socket(PF_INET6, SOCK_DGRAM, 0); dest_addr.sin6_family = AF_INET; dest_addr.sin6_port = htons(dest_port); inet_pton ("192.168.1.33", &a...
  • 2 votes
     answers
     views

    将IPv4和IPv6源地址绑定到python套接字

    我有一个python应用程序,需要为IPv6连接选择一个特定的本地源地址,但可以使用"any" 0.0.0.0进行IPv4连接 . 但是应用程序在 socket.connect((host, port)) 中使用主机名允许 socket.connect() 从名称进行地址查找 . 那么,如果在调用 socket.connect() 之前我不知道是否会通过名称查找产生IPv4地址...
  • 1 votes
     answers
     views

    从Android上的IPv4地址合成IPv4映射的IPv6地址?

    我正在尝试从Android中的IPv4地址(本机代码或Java本身)中合成IPv6地址,如RFC-7050中所述,以便在NAT64之后使用 . 在iOS中工作时,通过调用 getaddrinfo 可以使用此选项,但是,Android的 getaddrinfo 实现似乎只会为主机名而不是IPv4地址合成IPv6 . 在iOS上,在NAT64之后,以下代码将在变量 res 的地址列表中生成合成的IPv...
  • 2 votes
     answers
     views

    用于IPV4回复的以太网帧源地址而不是ARP缓存?

    我正在极其资源有限的嵌入式设备上编写TCP / IP堆栈 . 我想知道使用以太网帧的源mac地址来回复IPV4数据包是否安全 . 当您想要回复IPV4数据包的源IP地址时,正常的过程是检查您的ARP缓存,如果尚未填充,请执行ARP请求以获取MAC地址 . 我宁愿使用IPV4数据包所在的以太网帧的源mac地址 . (因为我将始终拥有此功能,因此能够在不等待更多传入数据包的情况下响应数据包) 这种策...
  • 3 votes
     answers
     views

    关于getaddrinfo()的犹豫是否正确用于处理IPV4和IPV6

    我正在尝试编写一个IP地址类来处理IPV6和IPV4地址;为了达到这个目的,我正在使用sockadrr_storage数据结构 . 我已经编写了这个类的大部分内容但是现在我在创建一个以正确和巧妙的方式使用getaddrinfo()函数的接口时遇到了一些困难 . 我的意思是我想创建一个构造函数,它可以在放入一组参数后在sockadrr_storage数据结构中提供和插入正确的IP地址 . 一些例子:...
  • 0 votes
     answers
     views

    获取IPv6标头的确切大小,包括扩展标头

    如果IPv4有问题并且我想从std :: istream中提取IP和ICMP头,首先我得到最初的20个字节,然后检查IPv4头中提供的头长度是否大于20个字节以便提取任何选项 . 下一个字节是ICMP数据包 . 使用IPv4标头内携带的标头长度值,我可以看到IP标头的预期大小 . 但是如何获得IPv6标头的确切大小? IPv6标头内部有一个有效负载值,包括标头扩展的大小以及更高级别的数据,如ICM...
  • 6 votes
     answers
     views

    IPv6地址范围[关闭]

    继this post后,我对搜索IPv6地址范围感兴趣 . 在IPv4下,我将能够确定ISP提供的起始和结束IP地址,并使用这些整数值作为范围界限,快速搜索数据库以查看数据库中的任何条目是否落入该范围 . 这将如何受到IPv6的影响? ISP仍然会像现在这样在范围内拥有IPv6地址吗?如果将IPv6地址存储为SQL Server数据库中的两个bigint,您将如何有效地搜索这些范围?
  • 0 votes
     answers
     views

    TSQL:将IP与GeoIP数据库进行匹配的有效方法

    我正在寻找将MaxMind free GeoIP database导入SQL服务器,然后发出查询以查找给定IP地址的IP范围 我现在可以想到两种方法: 为每个IPv4网络前缀Stroing bitmask int32值,然后为每个可能的网络前缀长度计算IP的网络前缀,并在网络前缀列中查找前缀 . 我可以从最常见的前缀长度开始,无论它是什么,并继续使用不常见的前缀长度,直到找到记录 . 在int...
  • 4 votes
     answers
     views

    如何将PHP中的IP地址作为二进制字符串进行比较?

    我目前正在基于PHP的项目中使用IPv4和IPv6地址,我需要能够比较两个IP以确定哪个是更高的数字 . 例如,192.168.1.9大于192.168.1.1 . 为了做到这一点,我使用inet_pton和unpack将IP转换为二进制字符串(我熟悉ip2long,但它仅限于IPv4) . 这种方法最初似乎运行正常,但是我很快发现,当我将.32中结尾的任何IP与较低的IP地址进行比较时,我得到的...
  • 0 votes
     answers
     views

    无法让MariaDB 10.1(在centos 7上)只能在IPv4上收听

    我怎么能让MariaDB 10.1只听IPv4?奇怪但是真的是我第一次安装MariaDB并启动它时,我看到它正在正确地监听IPv4,如下面的示例图片所示 但奇怪的是,由于某些原因重新安装MariaDB并重新启动我的Centos 7安装后,它似乎已经开始只听IPv6了,因此我无法让Galera集群工作(当它正在侦听IPv4时工作正常) . 那么我如何让这个MariaDB只听IPv4 . 以下是我机...
  • 4 votes
     answers
     views

    哪种双栈服务器方法更好?

    在应用程序中实现之前,我为Dual堆栈编写了两个服务器程序 . 双栈服务器程序,可以通过单个IPv6接口接受IPv6和IPv4客户端 . 但IPv4作为映射的IPv6地址重新生成 . 具有两个接口的双栈服务器程序正在侦听,以便单独处理IPv6客户端的IPv6和IPv4客户端以及IPv4客户端的IPv4接口,其中IPv4客户端请求的IPv4映射地址不涉及服务器 . 两者都很好 . 但是因...
  • 6 votes
     answers
     views

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

    我正在尝试使用IPv6套接字,特别是Windows Vista及更高版本提供的“双栈”功能,默认情况下显然在Unix上 . 我发现当我将服务器绑定到特定的IP地址或本地计算机的主机名解析时,我无法接受来自IPv4客户端的连接 . 但是当我绑定到INADDR_ANY时,我可以 . 请考虑我的服务器的以下代码 . 您可以看到我遵循Microsoft的建议创建IPv6套接字,然后将IPV6_V6ONLY...
  • 2 votes
     answers
     views

    Android 6.0 464XLAT:(AF_INET)使用ipv6 apn时IPV4堆栈太慢[关闭]

    我是负责维护Android应用程序的开发人员,该应用程序使用本机( C/C++ )代码来 Build TCP和UDP套接字 . 我不仅限于ipv4堆栈,因为我们正在处理ipv6堆栈的代码 . 当我们处理那些正在使用ipv6 APN的Android 6.0设备时,烦人的东西来了 . 通常ipv6 APN似乎有一些ipv4路由的双栈 . 我注意到在这种情况下,从我们的应用程序/客户端,没有办法解析ip...
  • 177 votes
     answers
     views

    Internet上最大的安全UDP数据包大小是多少

    我已经阅读了一些关于UDP数据包大小的文章,但是无法得出结论是否正确 . 许多服务将最大的UDP数据包限制为512字节(如dns) 鉴于互联网上的最小MTU是576,并且IPv4报头的大小是20字节,UDP报头是8字节 . 这留下了548个可用于用户数据的字节 我是否能够使用大小为548的数据包而不会出现数据包碎片?或者是DNS的创建者知道什么,以及为什么他们将其限制为512字节 . 我能安全地高...
  • 5 votes
     answers
     views

    php cidr前缀到netmask

    我正在寻找将cidr前缀(例如/ 28)转换为网络掩码(例如255.255.255.240)并且没有为此定位函数,PHP中是否存在一个?如果没有,我将如何做到这一点?
  • 0 votes
     answers
     views

    将ipv4 netmask转换为cidr格式

    我有ip和netmask 192.168.1.0 255.255.255.0 我需要将网络掩码转换为cidr格式 192.168.1.0/24 如何将ipv4地址和网络掩码转换为cidr格式? 我使用的是PHP5.6

热门问题