Comment en Analyser IP Addresses
Analyser, valider, et extraire information de IPv4 et IPv6 addresses.
问题
You besoin en valider un IP address et determine its type (IPv4, IPv6, privé, loopback).
Prérequis
- Understanding of IPv4 and IPv6 formats
- Knowledge of address ranges
Étapes
-
1. Determine the IP version
IPv4 addresses are four decimal octets separated by dots (192.168.1.1). IPv6 addresses are eight hex groups separated by colons (2001:db8::1), with zero compression (::) for consecutive zero groups. Detect the format to parse correctly.
entrée192.168.1.1输出IPv4 -
2. Validate and parse
Check that each IPv4 octet is 0-255 and each IPv6 group is 0000-ffff. Handle IPv6 shorthand (:: compression, embedded IPv4 in ::ffff:a.b.c.d format). Reject invalid addresses. Parse into a binary representation for comparison.
entrée2001:db8::1输出valid IPv6 -
3. Classify the address
Determine the address type: private (10.x, 172.16-31.x, 192.168.x for IPv4; fc00::/7 for IPv6), loopback (127.0.0.1, ::1), link-local (169.254.x, fe80::/10), or public. This classification is useful for security and routing decisions.
entrée192.168.1.1输出private (RFC 1918)
Résultat attendu
Un validated, parsed IP address avec its version et classification.
Erreurs courantes
- IPv6 compression not handled
- Expand :: to the correct number of zero groups before parsing. The :: can appear at most once in an address.
- Leading zeros in IPv4 octets
- Some systems interpret leading zeros as octal (010 → 8). Reject or normalize addresses with leading zeros to avoid ambiguity.
Dépannage指引
- If an address fails validation, check for extra whitespace, wrong separator, or out-of-range values.
- IPv4-mapped IPv6 addresses (::ffff:192.0.2.1) represent IPv4 in IPv6 format.
Limites de sécurité
- IP address classification helps identify internal vs external traffic. Do not rely solely on IP for authentication (IP spoofing is possible).