Traceroute.Protocols.ICMP.TimeExceeded (traceroute v0.2.4)

View Source

Represents an ICMP Time Exceeded message (Type 11).

This message is sent by a router when a packet's TTL reaches zero, which is the core mechanism that makes traceroute work.

Fields

  • :protocol - The protocol of the original packet (:icmp, :tcp, or :udp)
  • :request_datagram - The original datagram/header that triggered this response. The type depends on the protocol:
    • :icmp -> RequestDatagram.t()
    • :udp -> UDP.Datagram.t()
    • :tcp -> TCP.Header.t()

Codes

  • Code 0: TTL expired in transit
  • Code 1: Fragment reassembly time exceeded

Summary

Types

t()

@type t() :: %Traceroute.Protocols.ICMP.TimeExceeded{
  protocol: :icmp | :tcp | :udp | non_neg_integer(),
  request_datagram:
    Traceroute.Protocols.ICMP.RequestDatagram.t()
    | Traceroute.Protocols.UDP.Datagram.t()
    | Traceroute.Protocols.TCP.Header.t()
    | binary()
}