• # bon j'ai compris...

    Posté par . En réponse au message traceroute udp ou comment faire sans icmp ?. Évalué à 1.

    en fait en appelant avec un socket UDP (entre autres) avec

    recvmsg(sk, &msg, MSG_ERRQUEUE)

    On va avoir les erreurs dans msg (struct msghdr). Ensuite il faut parser le tout et on peut retrouver différentes sources d'erreurs dont les erreurs ICMP.

    man recvfrom
    man cmsg

    Bref, si on ne peut pas écouter les erreurs ICMP directement en raw socket, le noyau nous permet de les récupèrer quand même indirectement via ce méchanisme.