[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Martian source? Dois je aller vir le SETI?



On Thu, Dec 22, 2011 at 06:45:11AM +0100,
 Olivier Pavilla <olivier.pavilla@linux-squad.com> wrote 
 a message of 77 lines which said:

> Dec 22 06:35:47 korriban kernel: [  278.281753] martian source
> 255.255.255.255 from 192.168.1.1, on dev wlan0

À l'excellente et détaillée réponse de nono, je rajoute qu'il ne faut
surtout pas paniquer. Il y a des choses bizarres sur l'Internet, et si
vous perdez le sommeil à chaque paquet martien, vous n'êtes pas prêt
de dormir.

Ensuite, la grande majorité des discussions sur des forums à ce sujet
raconte n'importe quoi, notamment en confondant source et
destination. Il faut dire que le message du noyau n'est pas des plus
clairs. Mais le source l'est (sur un 2.6) :

		/*
		 *	RFC1812 recommendation, if source is martian,
		 *	the only hint is MAC header.
		 */
		printk(KERN_WARNING "martian source %pI4 from %pI4, on dev %s\n",
			&daddr, &saddr, dev->name);

La première adresse est donc l'adresse de DESTINATION, la seconde
étant la SOURCE. Ici, c'est donc 192.168.1.1 qui a écrit à
255.255.255.255, l'adresse de diffusion. C'est donc déjà beaucoup
moins inquiétant et un simple tcpdump vous dira en général de quoi il
s'agit. J'ai fait le tour de mes machines Debian et j'en ai trouvé une
qui crachait :

Dec 23 21:39:38 ada kernel: [395181.072055] martian source 255.255.255.255 from 169.254.197.219, on dev eth1

Alors que tcpdump me dit, au même moment :

21:39:38.917331 IP (tos 0x0, ttl 255, id 41143, offset 0, flags [none], proto UDP (17), length 382)
    169.254.197.219.68 > 255.255.255.255.67: [no cksum] BOOTP/DHCP, Request from 40:01:c6:cc:c5:dc, length 354, xid 0x90c9d043, Flags [Broadcast] (0x8000)
          Client-Ethernet-Address 40:01:c6:cc:c5:dc
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            Hostname Option 12, length 20: "3Com Baseline Switch"

Vous voyez ? C'est un simple client DHCP qui réclame une adresse. Pas
de quoi s'affoler. L'option "hostname" nous dit même de quel modèle il
s'agit.

Maintenant, pourquoi Linux considère ceci comme un martien ? Dans le
cas de ma machine, la table de routage dit :

% route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
204.62.14.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.9.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         204.62.14.1     0.0.0.0         UG    0      0        0 eth0

Pour écrire à 169.254.197.219, on passerait donc par la route par
défaut, en eth0. Mais le paquet vient de eth1 ! Linux, par défaut,
trouve cela suspect. Si on l'estime excessivement paranoïaque (après
tous, ces adresses sont normalement sur plusieurs liens physiques,
cf. <http://www.bortzmeyer.org/3927.html>), on peut utiliser sysctl
pour le faire taire.


Reply to: