diff --git a/scripts/base/protocols/dhcpv6/README b/scripts/base/protocols/dhcpv6/README new file mode 100644 index 0000000000..801f096eb2 --- /dev/null +++ b/scripts/base/protocols/dhcpv6/README @@ -0,0 +1,29 @@ +Support for Dynamic Host Configuration Protocol (DHCP) analysis. + + +Log structure: + +DHCPv4 logs transactions + + +We could also go [txid, iaid] and produce a log for each entry, but that'd +be the correct thing to do! + +Probably overthinking if there's only ever a single IAID per transaction, +but in theory this is possible. + +# What if there's no IAID? That's okay, too. + +So... pivot on IAID? + +State: + + transaction_id: count + ianas: vector of IA_NA + + # Common stuff + + +# Log entry + +txid, ia_na.aid, iaaddr diff --git a/scripts/base/protocols/dhcpv6/dpd.sig b/scripts/base/protocols/dhcpv6/dpd.sig new file mode 100644 index 0000000000..aecad1834f --- /dev/null +++ b/scripts/base/protocols/dhcpv6/dpd.sig @@ -0,0 +1,5 @@ +# signature dhcpv6_todo { +# ip-proto == udp +# payload /^.{236}\x63\x82\x53\x63/ +# enable "dhcpv6" +#} diff --git a/src/analyzer/protocol/dhcpv6/NOTES b/src/analyzer/protocol/dhcpv6/NOTES new file mode 100644 index 0000000000..e14a10f0d4 --- /dev/null +++ b/src/analyzer/protocol/dhcpv6/NOTES @@ -0,0 +1,61 @@ +2 messages + + +INFORMATION-REQUEST message + + * No address or route delegation + +SOLICIT message + * Rapid Commit option + + +REPLY message + * + +RENEW message -> REPLY + + +4 messages + +SOLICIT -> ALL_DHCP + -> ADVERTISE message + +REQUEST message to the selected server + -> asks for addresses, delegated prefixes, other configuration + + -> REPLY + + + +Reconfigure messages + * the client listens for them + -> information request + -> renew + -> rebind + + +6.1 Stateless DHCP + +* other configuration parameters + + +6.3 Prefix Delegation + +IA - identity association +IA_NA - non-temporary address +IA_TA - temporary address +IA_PD - Prefix delegation + + + +FreeBSD: + + + dhcpcd -6 em0 + dhcpcd -6 em0 --release + +After changing some configuration in /usr/local/etc/dhcpcd.conf + + rapid_commit + vendorclassid + hostname