Vai al contenuto
🛠️ToolsShed

Espansore/Compressore IPv6

Espandi gli indirizzi IPv6 compressi alla notazione completa o comprimi alla forma più breve.

Informazioni sullo strumento

Gli indirizzi IPv6 sono scritti in esadecimale e possono essere piuttosto lunghi—fino a 39 caratteri quando completamente espansi. Per renderli più facili da leggere e trasmettere, IPv6 supporta tecniche di compressione che rimuovono gli zeri iniziali e sostituiscono i gruppi di zeri consecutivi con un doppio due punti. Questo strumento converte tra questi due formati: espande gli indirizzi compressi in notazione completa, o comprime gli indirizzi lunghi nella loro forma valida più breve.

Usare lo strumento è semplice: incolla o digita un indirizzo IPv6 in qualsiasi formato, seleziona se desideri espanderlo o comprimerlo, e il risultato appare istantaneamente nel campo di output. Rileva automaticamente il formato del tuo input, facilitando il passaggio tra notazione compressa ed espansa senza selezione manuale del formato. Sia che tu stia configurando un'infrastruttura di rete, debugging di problemi di routing IPv6 o verificando la notazione degli indirizzi nella documentazione, questo strumento gestisce la conversione in modo affidabile.

Gli ingegneri di rete, gli amministratori di sistema e gli sviluppatori che lavorano con reti moderne beneficiano maggiormente di questo strumento, specialmente quando integrano sistemi legacy che richiedono notazione completa o quando leggono indirizzi compressi dai sistemi di monitoraggio della rete. Man mano che lo spazio degli indirizzi IPv4 si esaurisce, IPv6 diventerà sempre più prevalente, rendendo strumenti di manipolazione degli indirizzi come questo essenziali per chiunque gestisca reti contemporanee.

Domande Frequenti

Implementazione del Codice

import ipaddress

def expand_ipv6(addr: str) -> str:
    """Expand compressed IPv6 to full form."""
    return ipaddress.ip_address(addr).exploded

def compress_ipv6(addr: str) -> str:
    """Compress full IPv6 to shortest form."""
    return ipaddress.ip_address(addr).compressed

examples = [
    "2001:db8::1",
    "::1",
    "fe80::1",
    "2001:0db8:0000:0000:0000:0000:0000:0001",
    "::ffff:192.168.1.1",  # IPv4-mapped IPv6
]

for addr in examples:
    expanded  = expand_ipv6(addr)
    compressed = compress_ipv6(expanded)
    print(f"Input:      {addr}")
    print(f"Expanded:   {expanded}")
    print(f"Compressed: {compressed}")
    print()

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.