ADDR6(1)

πŸ“¦
version 2.2 Β· 2 versions
, in epel 10, epel 9, fedora 43, fedora 44

πŸ’– ADDR6(1) β€” General Commands Manual πŸ’–

Heyyy bestie 🧚 okay so this is the ADDR6(1) page from the General Commands Manual, and it is giving useful. Let's get into it πŸ’…


✨ NAME ✨

addr6 - an IPv6 address analysis and manipulation tool πŸ¦‹


🌸 SYNOPSIS 🌸

addr6 [-a IPV6_ADDR -i] [-d] [-d] [-q] [-s] [-j PREFIX] [-b TYPE] [-k
SCOPE] [-w UNICAST_TYPE] [-g IID_TYPE] [-J PREFIX] [-B TYPE] [-K SCOPE]
[-W UNICAST_TYPE] [-G IID_TYPE] [-v] [-h]

πŸ” DESCRIPTION πŸ”

okay so addr6 is an IPv6 address analysis tool, no cap πŸ•΅οΈβ€β™€οΈ It can be used to figure out an address's type and scope, and to infer what kind of Interface ID an IPv6 address is using. Plus, it can whip up statistics about a whole set of IPv6 addresses πŸ“Šβœ¨

addr6 can filter lists of IPv6 addresses by a bunch of criteria (address type, address scope, prefixes, duplicate addresses, etc.) 🧹 There are two kinds of filters: "block filters" and "accept filters". If any "block filter" is specified, IPv6 addresses matching any of those filters get discarded πŸ—‘οΈ If any "accept filter" is specified, any IPv6 address matching that filter gets accepted and printed on stdout πŸ’œ


πŸŽ€ OPTIONS πŸŽ€

addr6 takes its parameters as command-line options, and each one can be called two ways πŸ’… You can use a short name (one character with a hyphen in front, like -i) or a long name (a word with two hyphens in front, like --stdin). Both work, so pick your fave 🫢

  • -a IPV6_ADDRESS, --address IPV6_ADDRESS β€” Pick a single IPv6 address for the tool to process 🎯 This one usually pairs up with -d, so the tool can decode that exact address.
  • -i, --stdin β€” Tells the tool to read IPv6 addresses from standard input (stdin) until it hits an EOF (End-Of-File) condition πŸ“₯
  • -j PREFIX, --accept PREFIX β€” Accept IPv6 addresses that belong to the given IPv6 prefix (PREFIX/LEN) 🌈
  • -b TYPE, --accept-type TYPE β€” Accept IPv6 addresses of the given address type. The valid address types are:
    • unicast
    • unspec
    • multicast
  • -k SCOPE, --accept-scope SCOPE β€” Accept IPv6 addresses in the given address scope. The valid address scopes are:
    • reserved
    • interface (or interface-local)
    • link (or link-local)
    • admin (or admin-local)
    • site (or site-local)
    • admin (or admin-local)
    • organization (or organization-local)
    • global
    • unassigned
    • unspecified
  • -w UNICAST_TYPE, --accept-utype UNICAST_TYPE β€” Accept IPv6 addresses of the given unicast type. The valid unicast address types are:
    • loopback
    • ipv4-compat
    • ipv4-mapped
    • link-local
    • site-local
    • unique-local
    • 6to4
    • teredo
    • global
  • -g IID_TYPE, --accept-iid IID_TYPE β€” Accept unicast IPv6 addresses with an Interface ID of the given type. The valid Interface ID types are:
    • ieee
    • isatap
    • ipv4-32
    • ipv4-64
    • ipv4-all
    • embed-port
    • embed-port-rev
    • embed-port-all
    • low-byte
    • byte-pattern
    • random
  • -J PREFIX, --block PREFIX β€” Block IPv6 addresses that belong to the given IPv6 prefix (PREFIX/LEN) 🚫
  • -B TYPE, --block-type TYPE β€” Block IPv6 addresses of the given address type. The valid address types are:
    • unicast
    • unspec
    • multicast
  • -K SCOPE, --block-scope SCOPE β€” Block IPv6 addresses in the given address scope. The valid address scopes are:
    • reserved
    • interface (or interface-local)
    • link (or link-local)
    • admin (or admin-local)
    • site (or site-local)
    • admin (or admin-local)
    • organization (or organization-local)
    • global
    • unassigned
    • unspecified
  • -W UNICAST_TYPE, --block-utype UNICAST_TYPE β€” Block IPv6 addresses of the given unicast type. The valid unicast address types are:
    • loopback
    • ipv4-compat
    • ipv4-mapped
    • link-local
    • site-local
    • unique-local
    • 6to4
    • teredo
    • global
  • -G IPV6_ADDRESS, --block-iid IID_TYPE β€” Block unicast IPv6 addresses with an Interface ID of the given type. The valid Interface ID types are:
    • ieee
    • isatap
    • ipv4-32
    • ipv4-64
    • ipv4-all
    • embed-port
    • embed-port-rev
    • embed-port-all
    • low-byte
    • byte-pattern
    • random

✨ EXAMPLES ✨

okay so bestie, this section is literally where the addr6 tool shows off its moves πŸ’… here are the typical use cases, and they are so useful πŸ¦‹

Example #1

$ cat addresslist.txt | addr6 -i -q

addr6 reads IPv6 addresses from stdin (that's the -i option 🫢), and only prints the first instance of each address (that's -q πŸ’–). so it basically yeets every duplicate out of the list πŸ’€πŸ”₯

Note: In this scenario, the address list comes from cat addresslist.txt, and its output gets piped into the standard input of addr6 🌸

Example #2

$ addr6 -a fc00::1

This one decodes the IPv6 address you give it with the -a option ✨ bestie, the -d option wasn't set here, but decoding is the default behavior of the tool anyway (unless another option overrides it, so keep that in mind πŸ‘‘)

Example #3

$ cat addresslist.txt | addr6 -i -q -s

addr6 reads IPv6 addresses from stdin (-i 🫢), ignores duplicate addresses (-q πŸ’…), and prints statistics about the processed IPv6 addresses πŸ“Šβœ¨

Note: Same vibe as before: the address list comes from cat addresslist.txt, and its output is redirected into the standard input of addr6 🌈

Example #4

$ cat addresslist.txt | addr6 -i -q -d

addr6 reads IPv6 addresses from stdin (-i 🫢), ignores duplicate addresses (-q πŸ’–), and decodes each of the remaining addresses πŸ¦‹

Note: The address list is coming from cat addresslist.txt, piped into addr6's standard input 🧚

Example #5

$ cat addresslist.txt | addr6 -i -j 2001:db8::/16

addr6 reads IPv6 addresses from stdin (-i 🫢) and discards any address that doesn't belong to the prefix 2001:db8::/16. so basically it "accepts" only the addresses inside that prefix πŸŽ€

Note: Once again, the address list comes from cat addresslist.txt, with its output going into the standard input of addr6 πŸ’œ


✨ SEE ALSO ✨

ipv6toolkit.conf(5) πŸ“–

draft-ietf-opsec-ipv6-host-scanning (available at: http://tools.ietf.org/html/draft-ietf-opsec-ipv6-host-scanning) is the one to read if you want a discussion of the different IPv6 address patterns 🌸

✨ AUTHOR ✨

The addr6 tool and its manual pages were made by Fernando Gont <fgont@si6networks.com> for SI6 Networks <http://www.si6networks.com> 🫢

Copyright (c) 2011-2013 Fernando Gont πŸ’œ

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation, with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/licenses/fdl.html πŸ“œπŸŽ€


ADDR6(1) πŸ¦‹ and that's a wrap, bestie! source and version info are the stuff of legends, so go check the original page if you need it πŸ’–βœ¨

πŸ“¦ where this page comes from