ip6addr

Commandline tool to deal with IPv6 address text representations

https://github.com/MichelBoucey/ip6addr

LTS Haskell 22.34:1.0.4
Stackage Nightly 2024-09-16:2.0.0
Latest on Hackage:2.0.0

See all snapshots ip6addr appears in

BSD-3-Clause licensed by Michel Boucey
Maintained by [email protected]
This version can be pinned in stack with:ip6addr-2.0.0@sha256:5ec276f32b14a3feebac3d37400d10842ef99507233a930c180f045524c33234,1322

Module documentation for 2.0.0

There are no documented modules for this package.

ip6addr CI

1. Goal

ip6addr is a commandline tool that validates and generates IPv6 address text representations, based upon the library IPv6Addr :

  • Canonical, in conformation with RFC 5952 (default output)
  • Pure, i.e. force the rewriting of IPv4 address if present
  • Full length
  • Reverse lookup domain name, in conformation with RFC 3596 Section 2.5
  • Windows UNC path name
  • Random generation for test purpose

2. Usage

ip6addr v2.0.0 (c) Michel Boucey 2011-2024

Usage: ip6addr [-v|--version]
               [(-c|--canonical) | (-n|--no-ipv4) | (-f|--full-length) |
                 (-p|--ptr) | (-w|--windows-unc) | (-r|--random)]
               [-q|--quantity ARG] [-s|--prefix ARG] [-d|--no-newline]
               [IPv6 address]

  ip6addr

Available options:
  -v,--version             Show version
  -c,--canonical           In conformation with RFC 5952 (default output)
  -n,--no-ipv4             Force the rewriting of the IPv4 address if present to
                           get a pure IPv6 address made of nibbles only
  -f,--full-length         Full IPv6 address length
  -p,--ptr                 PTR reverse mapping
  -w,--windows-unc         Windows UNC path name
  -r,--random              Random generation
  -q,--quantity ARG        Amount of random addresses to generate
  -s,--prefix ARG          Set a prefix for random addresses to generate
  -d,--no-newline          Do not output trailing newlines
  -h,--help                Show this help text

N.B. : In version 2, flags and arguments have changed from version 1, but the main features are identical.

3. Examples

    [user@box ~]$ ip6addr 0:0::FFFF:192.0.2.128  
    ::ffff:192.0.2.128  
    [user@box ~]$ ip6addr --no-ipv4 0:0::FFFF:192.0.2.128
    ::ffff:c000:280  
    [user@box ~]$ ip6addr --ptr 0:0::FFFF:192.0.2.128
    0.8.2.0.0.0.0.c.f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA.
    [user@box ~]$ ip6addr --windows-unc 2001:db8:85a3:8d3:1319:8a2e:370:7348
    2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net
    [user@box ~]$ ip6addr --full-length 0:0::FFFF:192.0.2.128
    0000:0000:0000:0000:0000:ffff:c000:0280
    [user@box ~]$ ip6addr --random
    ca18::654a:57ab:2ed7
    [user@box ~]$ ip6addr --random --quantity 4
    488:f7f3:7f7e::6ffd
    5b8b:8ab4::f0b8
    f191:ecc9:8193:8a2:104c:fec1:0:8c4d
    af3b:3ffd:8302:6c56::8623:26
    [user@box ~]$ ip6addr --random --quantity 3 --prefix 1234:1ab2::
    1234:1a2b::cda6:cf2a:bb1d:d70b
    1234:1a2b::362c:8295:f546:a43a  
    1234:1a2b::1121:ca16:ab5:688a