此标记用于与Internet协议相关的问题。您可能希望使用标记[ip-address]代替此标记或与此标记结合使用。有关知识产权的问题,请改用[知识产权]。
使用java和java.net库获取带有cidr范围的IP地址列表
我正在尝试使用JAVA获取CIDR范围内的所有IP列表。我得到了一个示例代码,但我不确定它是否适用于所有场景。使用java.net包。 公共静态列表 我正在尝试使用 JAVA 获取 CIDR 范围内的所有 IP 列表。我得到了一个示例代码,但我不确定它是否适用于所有场景。使用 java.net 包。 public static List<String> getIPsInCIDR(String cidrRange) { List<String> ips = new ArrayList<>(); try { // Split the CIDR range into IP and prefix length String[] parts = cidrRange.split("/"); String ip = parts[0]; int prefix = Integer.parseInt(parts[1]); // Calculate the number of addresses in the range int numAddresses = (int) Math.pow(2, (32 - prefix)); // Convert the IP address to a byte array byte[] ipBytes = InetAddress.getByName(ip).getAddress(); // Convert the byte array to an integer int ipAddress = 0; for (byte b : ipBytes) { ipAddress = (ipAddress << 8) | (b & 0xFF); } // Generate the list of IP addresses within the range for (int i = 0; i < numAddresses; i++) { int currentIP = ipAddress + i; // Convert the integer back to a byte array byte[] currentIPBytes = new byte[4]; for (int j = 3; j >= 0; j--) { currentIPBytes[j] = (byte) (currentIP & 0xFF); currentIP >>= 8; } // Create InetAddress object from the byte array InetAddress address = InetAddress.getByAddress(currentIPBytes); // Add IP address to the list ips.add(address.getHostAddress()); } } catch (UnknownHostException e) { e.printStackTrace(); } return ips; } 请您检查一下并确认一下。我试过了,效果很好 您在使用 Inet4Address 获取字节时遇到问题。 点分四元组格式的最后一个值将被解释为 8, 16, or 24 位量,具体取决于前缀的指定方式。 例如,192.154.23 将被解释为 192.154.0.23,因为 23 被视为 16 位值并在低位字节中以 23 形式返回。 这会导致您的 IP 地址计算不正确。 此外,请记住,位于 cidr 前缀范围内的虚线四边形的任何部分都将被忽略,因为它将被掩码包围。 例如, 192.158.122.22/25 192.158.122.99/25 192.158.122.49.25 都将具有相同的 255.255.255.128 掩码,并将返回相同的 192.158.122.0 thru 192.158.122.127 范围。
使用本地主机时工作正常 root@ip-172-16-0-102:/home/ubuntu#curl 本地主机:9200 { “名称”:“ip-172-16-0-102”, “cluster_name”:“elasticsea...
有人在我的网站上生成了许多注册邮件(全部来自俄罗斯 IP 地址),这似乎是试图将我的注册电子邮件标记为垃圾邮件。这是我唯一的电子邮件
我有以字节形式接收 pcap 数据包的代码。 我解码 IP 和 UDP 层,然后解码(“UMS”)内的专有应用程序层。 我想检查 IP 标头校验和和 UDP
我无法 ping pcs ,但我可以 ping routers-server/server-routers , pc-server/server-pc 。我不能只是 ping 电脑,我不知道为什么,我有网关并且 IP 路由是正确的。 我是
Flask 主机一直通向本地 IP | Python [重复]
因此,当我运行以下代码时,它给了我 2 个 IP,但都指向本地网络 IP。如果可能的话,如何让它路由到公共IP? 操作系统:Windows 10 Python版本:Python 3.12.0 Flask Versi...
如何在 BACnet 工作站设备中添加/发现来自不同 IP 网络子网的子设备
概述: 您好,我有一个 BACnet 设备,它是 B-AWS(高级工作站)配置文件设备。 该设备将安装在控制室中。我需要在此工作状态下发现/添加不同的设备...
将 python 与在 docker 中运行的 h2o 连接,但 h2o 的 ipv4 发生变化
我是docker新手,我正在尝试在docker中运行h2o,然后使用python连接到它。 我有文件夹: model-generator 文件夹,其中有 python 脚本和 Dockerfile 来构建...
如何从 python-socketio 连接获取客户端的 IP 地址,并且仍然能够从程序中的任何位置发出
我有一个 Pyhton 服务器,它使用以下 pyhton-socketio GitHub 项目接受 SocketIO 连接。我想在客户端连接时获取它们的 IP 地址。我怎样才能得到客户的...
当 docker run 命令中提到 --net=host 时,Docker 容器不会公开端口
我在 CentOS docker 主机上有一个 CentOS docker 容器。当我使用此命令运行 docker 映像 docker run -d --net=host -p 8777:8777 ceilometer:1.x docker 容器获取主机的 IP 但...
#sudo ufw 应用程序列表。可疑的输出。我的电脑被人监视了吗?
我正在运行一个Linux发行版(Debian BookWarm),安装了Tomcat 9、MySql数据库和PhMyAdmin。 Netbeans IDE 中的所有内容。运行 shell 命令 :~$ sudo ufw 应用程序列表 我得到了重新...
如何解决Python Sockets/SocketServer连接[Errno 10048]和[Errno 10049]?
我正在尝试制作一款在线 FPS 游戏,到目前为止它可以在我的本地网络上运行。我想做的是让它在全球范围内发挥作用 我过去曾尝试过让其他 Python 项目在全球范围内运行,但是......
我知道查看这两个变量是标准做法。当然,它们很容易被欺骗。我很好奇您多久会期望这些值(尤其是 HTTP_X_FORWARDED_FOR)
C:\Users\user>curl ifconfig.me 177.238.21.18 C:\Users\用户>curl ifconfig.me 177.238.22.31 C:\Users\用户>curl ifconfig.me 177.238.21.162 C:\Users\用户>curl ifconfig.me 177.238.22.250 C:\...
我有一台服务器,有 3 个不同的网卡和 3 个不同的 IP 地址。我想编写一个小套接字程序来选择使用哪个网卡来发送消息。我只想知道是这样的吗
我在网上找到了一些关于用Java在计算机之间发送消息的基本示例。然而我意识到我只使用本地 IP 地址,所以我只能将消息发送到同一台连接的电脑
我有一个绑定到 INADDR_ANY 的 UDP 套接字,用于侦听我的服务器拥有的所有 IP 上的数据包。我通过同一个套接字发送回复。 现在服务器会自动选择哪个...
当您的 IP 地址作为 URL 输入时,如何设置要提供服务的默认网站?
我有一个服务器,其中托管了多个网站,并且可以使用基于名称的 apache 虚拟托管进行区分。 如何设置以便在输入我的服务器 IP 时托管特定网站...
我想知道如何将 IPv4 地址与 u32 相互转换: 使用 std::net::Ipv4Addr; 让 addr = Ipv4Addr::new(127, 0, 0, 1); ...
当尝试连接到我的 ACI 的 bin/bash 时,无论是在门户还是在 Azure cli 中,都会出现以下错误: {“错误”:{“代码”:“GatewayTimeout”,“消息”:&...