El ejemplo de este artículo describe cómo Java determina si una dirección IP es una IP de intranet o una IP pública. Compártelo con todos para tu referencia. El análisis específico es el siguiente:
En el protocolo TCP/IP, tres áreas de direcciones IP están especialmente reservadas como direcciones privadas. Los rangos de direcciones son los siguientes:
10.0.0.0/8:10.0.0.0~10.255.255.255
172.16.0.0/12:172.16.0.0~172.31.255.255
192.168.0.0/16:192.168.0.0~192.168.255.255
Entonces, vayamos directamente al código:
Copie el código de la siguiente manera: public static boolean internalIp(String ip) {
byte[] addr = IPAddressUtil.textToNumericFormatV4(ip);
devolver IP interna (dirección);
}
IP interna booleana estática pública (byte [] dirección) {
byte final b0 = dirección[0];
byte final b1 = dirección[1];
//10.xxx/8
byte final SECTION_1 = 0x0A;
//172.16.xx/12
byte final SECTION_2 = (byte) 0xAC;
byte final SECTION_3 = (byte) 0x10;
byte final SECTION_4 = (byte) 0x1F;
//192.168.xx/16
byte final SECTION_5 = (byte) 0xC0;
byte final SECTION_6 = (byte) 0xA8;
cambiar (b0) {
caso SECCIÓN_1:
devolver verdadero;
caso SECCIÓN_2:
if (b1 >= SECCIÓN_3 && b1 <= SECCIÓN_4) {
devolver verdadero;
}
caso SECCIÓN_5:
interruptor (b1) {
caso SECCIÓN_6:
devolver verdadero;
}
por defecto:
devolver falso;
}
}
Espero que este artículo sea útil para la programación Java de todos.