java - 如何检查IP地址范围是否属于A类、B类、C类

标签 java class ip addressing

import java.net.*;
import java.io.*;

public class ip_host {
    public static void main(String args[]) throws Exception {
        System.out.println("Enter the host name :");
        String n = new DataInputStream(System.in).readLine();

        InetAddress ipadd = InetAddress.getByName(n);

        System.out.println("IP address :" + ipadd);
    }
}

我有一个可以查找 IP 地址的程序,但我想扩展它来查找 IP 类别。

最佳答案

您可以通过提取地址的第一个三元组并检查适当的范围来手动执行此操作。

InetAddress address = InetAddress.getByName(host);
String firstTriplet = address.getHostAddress().
        substring(0,address.getHostAddress().indexOf('.'));

if (Integer.parseInt(firstTriplet) < 128) {
    System.out.println("Class A IP");
} else if (Integer.parseInt(firstTriplet) < 192) {
    System.out.println("Class B IP");
} else {
    System.out.println("Class C IP");
}

编辑: 固定类别

关于java - 如何检查IP地址范围是否属于A类、B类、C类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21957485/

相关文章:

java - 如何获取类中所有私有(private)数据成员的名称

asp.net - IIS - 无法通过 ip 地址而不是 localhost 访问页面

java - 编写 int 数组并返回元素数量的正确方法?

java - 如何加密来自url的视频并将加密的视频保存到设备的SD卡

Python 类、实例变量和访问器方法

C++虚类方法

java - 使用通配符 IP 地址获取域名

OpenCV 和与 IP Camera 的连接 - 我的相机型号

java - 写入 TCP Netty ChannelGroup 中除一个以外的所有内容

java - 如何修复 org.hibernate.MappingException 取消映射类