IPMON



Example d'utlisation: /usr/sbin/ipmon -D -o I -p -v -x /var/log/ipf.log

lance ipmon en deamon (-D) log les packet IPF (-o I), l'option -o ISN log en plus ipnat et state ne converti pas les numeros de port en nom de protocole (-p) affiche la taille de la fenetre tcp, les ack et sequence tcp (-v) et affiche en hexadecimal les couches OSI 3 de niveau et 4 (-x)
l'option -F permet de vider le buffer (/dev/ipl), et -n resous les ip (PTR simple et ne verifie pas que le PTR resous en un autre pointage, vous pouvez donc vous retrouver avec un nom d'host inutilisable)

Nous obtenons des ligne comme celle ci dans /var/log/ipf.log :
17/01/2002 23:21:51.430974 ppp0 @0:48 p 80.8.80.205,1119 -> 212.11.50.26,80 PR tcp len 20 15360 -S 3922110802 0 16384 IN
45 00 3c 00 c7 26 00 40 36 06 d6 9a 50 08 50 cd d4 0b 32 1a 04 5f 00 50 e9 c6 a9 52 00 00 00 00 a0 02 40 00 c4 c5 00 00 ..@.....

Analyse de la Couche OSI 3
4 = Version d'IP (6 en ipv6...)
5 = IHL (mot de 32bit) on a ici la longeur de l'en-tete est 5*32bit soit 20octets
00 = TOS, type de service : 00 normal, contient preseance (3bit) et TOS (4bit)
3c 00 = Longueur Total, ici 15360bit
c7 26 = identification, numero de datagrame
00 40 = DF, DM et numero de fragment
36 = TTL, temps de vie du packet en nombre de hop, 1 routeur = 1 hop (en general)
06 = Protocole, ici 06 correspond a TCP, 12 donne de l'UDP, 01 de l'ICMP
d6 9a = Checksum de l'en tete
50 08 50 cd = Adresse ip source (5*16^1+0*16^0 : 80, 0*16^1+8*16^0: 8, 5*16^1+0*16^0: 80; C*16^1+D*16^0=205 -> 80.8.80.205
d4 0b 32 1a = Adresse ip destinataire (meme methode que ci dessus -> 212.11.50.26)

Voila nous avois nos 20 octets, passon a la couche 4 (ici c'est du TCP, cf champ proto de la couche ip
04 5f = Port source (0*16^3+4*16^2+5*16^1+F*16^0 = 1119)
00 50 = Port Destination, ici 80
e9 c6 a9 52 = numero de sequence TCP
00 00 00 00 = ACK (=0 ici car on a un SYN, cf plus loin), le packet en retour aura un ACK de valeur Numero de sequence+1, et un Numero de sequence de valeur ACK + 1 (en fait comme il s'agit de 0, un numeros va etre generer)
a = Data offset, mot de 32bit, ici 40octets d'en tete TCP
0 02 = FLAG, ici un SYN
40 00 = Taille de la fentre TCP
c4 c5 = Somme de control
00 00 = Pointeur d'urgence

Voila l'analyse rapide de lignes de log de ipmon, ce document sera surement modifÃé plus tard pour expliquer la 1er ligne du log
Pour de plus ample information sur les Protocole IP et TCP:
- http://www.guill.net/reseaux/tcpip/
- http://www.commentcamarche.net/internet/tcpip.php3



Derniere modification: 25/04/02

Cette article est de Jeb: Jeb@Jeb.com.fr