• Fred
    link
    fedilink
    arrow-up
    4
    ·
    1 month ago

    Scapy is another library where they redefined / to layer packets, such that you can write:

    IP(dst="172.23.34.45") / UDP() / DNS(…)
    

    Then Scapy has magic so that on serialisation, the UDP layer knows defaults to dport=53 if the upper layer is DNS, and it can access the lower layer to compute its checksum.

    And don’t forget that strings have a custom % (as in modulo) operator for formatting:

    "Hello %s" %(username)
    

    Of course in modern Python, f-strings will almost always be more convenient