Voir RFC 1122, section 3.2.2
ietf.org/rfc/rfc1122.txt
Requirements for Internet Hosts – Communication Layers
/*
* Check the other end isnt violating RFC 1122. Some routers send
* bogus responses to broadcast frames. If you see this message
* first check your netmask matches at both ends, if it does then
* get the other vendor to fix their kit.
*/
if (!sysctl_icmp_ignore_bogus_error_responses &&
inet_addr_type(iph->daddr) == RTN_BROADCAST) {
if (net_ratelimit())
printk(KERN_WARNING "%u.%u.%u.%u sent an invalid ICMP "
"type %u, code %u "
"error to a broadcast: %u.%u.%u.%u on %s\n",
NIPQUAD(skb->nh.iph->saddr),
icmph->type, icmph->code,
NIPQUAD(iph->daddr),
skb->dev->name);
goto out;
}
Donc la pile TCP/IP de cette imprimante n’est pas 100% standard. C’est quoi comme marque?
Pour résoudre ton problème,
Soit tu le masque par une option à mettre dans /etc/systune.conf
[quote]# FreeBSD isn’t RFC1122 compatible
/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses:1
[/quote]
Soit tu essayes de comprendre ce qui se passe; pour ca il faut le paquet icmp complet pour au moins voir le port. Si je comprends bien qq1 envoie un paquet vers un port fermé sur ton imprimante en mettant l’adresse source à un broadcast, ce qui est légitime. Mais ton imprimante réponds par un icmp, qu’elle ne devrait pas faire. Ton linux qui est tip-top standard te le dis. Interessant non?
Choppe tous le traffic icmp et enregistre tout le paquet. Tu verra la port. Si c’est telnet ou ssh t’as un peu de soucis à te faire.
Mais ca sent plutot le ssdp(livebox,xp…?) ou plus généralement découverte d’hote. C’est une plaie.