Introduction to DHCPv6

Dynamic Host Configuration Protocol for IPv6 (DHCPv6) is just that: a protocol that can be used for host configuration, defined in RFC 8415. In this post I will introduce some basics of the protocol. DHCPv6 protocol A DHCPv6 message for client-server conversation consists of message type (1 byte), transaction ID (3 bytes) and variable number […]

Network Interface Name Sorting in Python

Evergreen problem in sorting strings: How do you implement human-expected ordering when the strings have varying-length numbers in them? Prime example in the networking world is network interface naming in various devices. Example: >>> interfaces = [“1/1/1”, “1/1/2”, “1/1/10”, “1/1/11”, “1/1/10.32”, “1/1/10.311”, “1/1/10.312”, “eth-1/1/1.1”, “eth-1/1/1.2”, “eth-1/1/1.10”]>>> print(“\n”.join(sorted(interfaces)))1/1/11/1/101/1/10.3111/1/10.3121/1/10.321/1/111/1/2eth-1/1/1.1eth-1/1/1.10eth-1/1/1.2>>> That’s not ideal as the default string sorting […]

Change History for Zabbix Protocols

All the information on this page is gathered from the official Zabbix documentation about the protocols and the upgrade notes. I’m using this information to assist with the Zabbix protocol dissector development in Wireshark, thus not all possible protocol change details will be documented here but mostly only those that affect the dissector. Server-proxy data […]