Les logiciels d’audit du réseau permettent de remonter des informations sur les machines qui le composent et sur l’état des connexions qui lient ces machines. Ils permettent ainsi une étude qualitative et quantitative du réseau.
Ping
Pour cela, elle utilise le service ICMP, qui lui même utilise la couche IP pour envoyer des requêtes (echo-request) à l'hôte que l'on veut tester. On peut noter d'après ce qui vient d'être dit que la commande ping permettra aussi de tester le bon fonctionnement de la pile TCP/IP sur la machine locale.
Principales fonctionnalités
Les fonctions de la commande ping sont relativement simples, la plus basiques d'entre-elles étant la requête echo-reply :
> ping 192.168.4.69
PING 192.168.4.69 (192.168.4.69) 56(84) bytes of data.
64 bytes from 192.168.4.69: icmp_seq=1 ttl=128 time=0.337 ms
64 bytes from 192.168.4.69: icmp_seq=2 ttl=128 time=0.184 ms
--- 192.168.4.69 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1007ms
rtt min/avg/max/mdev = 0.184/0.260/0.337/0.078 ms
On voit que cette commande simple permet de savoir que la configuration TCP/IP est correcte sur le poste local, sur le poste distant et que la connectivité est assurée dans les deux sens de communication. On obtient aussi les statistiques sur les délais de cette connectivité.PING 192.168.4.69 (192.168.4.69) 56(84) bytes of data.
64 bytes from 192.168.4.69: icmp_seq=1 ttl=128 time=0.337 ms
64 bytes from 192.168.4.69: icmp_seq=2 ttl=128 time=0.184 ms
--- 192.168.4.69 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1007ms
rtt min/avg/max/mdev = 0.184/0.260/0.337/0.078 ms
>ping -b 192.168.4.255
WARNING: pinging broadcast address
PING 192.168.4.255 (192.168.4.255) 56(84) bytes of data.
64 bytes from 192.168.4.111: icmp_seq=1 ttl=64 time=0.068 ms
64 bytes from 192.168.4.27: icmp_seq=1 ttl=64 time=0.420 ms (DUP!)
64 bytes from 192.168.4.2: icmp_seq=1 ttl=64 time=0.446 ms (DUP!)
64 bytes from 192.168.4.90: icmp_seq=1 ttl=64 time=0.452 ms (DUP!)
64 bytes from 192.168.4.254: icmp_seq=1 ttl=64 time=0.566 ms (DUP!)
64 bytes from 192.168.4.16: icmp_seq=1 ttl=64 time=2.27 ms (DUP!)
64 bytes from 192.168.4.15: icmp_seq=1 ttl=64 time=2.39 ms (DUP!)
64 bytes from 192.168.4.71: icmp_seq=1 ttl=64 time=2.61 ms (DUP!)
64 bytes from 192.168.4.18: icmp_seq=1 ttl=255 time=2.71 ms (DUP!)
64 bytes from 192.168.4.50: icmp_seq=1 ttl=255 time=11.2 ms (DUP!)
Permet d'envoyer un ping en broadcastWARNING: pinging broadcast address
PING 192.168.4.255 (192.168.4.255) 56(84) bytes of data.
64 bytes from 192.168.4.111: icmp_seq=1 ttl=64 time=0.068 ms
64 bytes from 192.168.4.27: icmp_seq=1 ttl=64 time=0.420 ms (DUP!)
64 bytes from 192.168.4.2: icmp_seq=1 ttl=64 time=0.446 ms (DUP!)
64 bytes from 192.168.4.90: icmp_seq=1 ttl=64 time=0.452 ms (DUP!)
64 bytes from 192.168.4.254: icmp_seq=1 ttl=64 time=0.566 ms (DUP!)
64 bytes from 192.168.4.16: icmp_seq=1 ttl=64 time=2.27 ms (DUP!)
64 bytes from 192.168.4.15: icmp_seq=1 ttl=64 time=2.39 ms (DUP!)
64 bytes from 192.168.4.71: icmp_seq=1 ttl=64 time=2.61 ms (DUP!)
64 bytes from 192.168.4.18: icmp_seq=1 ttl=255 time=2.71 ms (DUP!)
64 bytes from 192.168.4.50: icmp_seq=1 ttl=255 time=11.2 ms (DUP!)
>ping -c 1 192.168.4.69
PING 192.168.4.69 (192.168.4.69) 56(84) bytes of data.
64 bytes from 192.168.4.69: icmp_seq=1 ttl=128 time=0.316 ms
--- 192.168.4.69 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.316/0.316/0.316/0.000 ms
L'option -c permet d'envoyer un nombre prédéfini de requêtes echo-requestPING 192.168.4.69 (192.168.4.69) 56(84) bytes of data.
64 bytes from 192.168.4.69: icmp_seq=1 ttl=128 time=0.316 ms
--- 192.168.4.69 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.316/0.316/0.316/0.000 ms
>ping -f 192.168.4.69
Permet d'envoyer un grand nombre de paquets (en anglais, flood) pour faire un test de charge par exemple. Ne peut être exécuté qu'en super utilisateur pour éviter tout abus.>ping -i 2 192.168.4.69
L'option -i permet de spécifier l'intervalle de temps (en secondes) entre chaque requête envoyée.>ping -ttl 12 192.168.4.69
-ttl permet de préciser le champ time to live du paquet de requête envoyé.Remarques
Ping est un outil très simple mais indispensable.Fping
Fping est une alternative à ping, qui reprend les mêmes fonctionnalités en ajoutant quelques caractéristiques. Il est lui aussi basé sur l'envoi et la réception de requêtes ICMP.Ses principaux atouts sont de pouvoir utiliser en entrée des fichiers contenant la liste des hôtes à tester et d'avoir une sortie standard facile à parser. Ces fonctions particulières ont été développées en vue d'une utilisation dans des scripts.
Commandes
>fping -g 192.168.4.1 192.168.4.5
192.168.4.2 is alive
192.168.4.3 is alive
192.168.4.5 is alive
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.1
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.1
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.1
ICMP HostUnreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.4
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.4
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.4
192.168.4.1 is unreachable
192.168.4.4 is unreachable
L'option -g permet de pinger plusieurs hôtes à la fois, en précisant soit l'adresse de début et celle de fin, ou alors l'adresse du sous réseau, sous la forme 192.168.4.0/24192.168.4.2 is alive
192.168.4.3 is alive
192.168.4.5 is alive
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.1
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.1
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.1
ICMP HostUnreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.4
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.4
ICMP Host Unreachable from 192.168.4.111 for ICMP Echo sent to 192.168.4.4
192.168.4.1 is unreachable
192.168.4.4 is unreachable
>fping 192.168.4.222 -c 1
192.168.4.222 : [0], 84 bytes, 0.39 ms (0.39 avg, 0% loss)
192.168.4.222 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.39/0.39/0.39
L'argument -c précise le nombre de requêtes à envoyer192.168.4.222 : [0], 84 bytes, 0.39 ms (0.39 avg, 0% loss)
192.168.4.222 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.39/0.39/0.39
>fping 192.168.4.222 -b 6545
192.168.4.222 is alive
-b permet de définir le nombre d'octets à envoyer dans le paquet de requête.192.168.4.222 is alive
>fping 192.168.4.222 -l
L'option -l envoie une infinité de requêtes (loop) >fping -f liste.txt
L'argument -f permet de spécifier un fichier texte qui inclus la liste des hôtes à tester>fping -g 192.168.4.0/24 -q
-q indique que l'on ne veut pas afficher les résultats de chaque hôte, mais uniquement le résultat total (quiet mode)>fping -g 192.168.4.222 192.168.4.224 -q -s
3 targets 1 alive 2 unreachable 0 unknown addresses 8 timeouts (waiting for response) 9 ICMP Echos sent 1 ICMP Echo Replies received 6 other ICMP received 0.56 ms (min round trip time) 0.56 ms (avg round trip time) 0.56 ms (max round trip time) 4.146 sec (elapsed real time)-s permet d'afficher des statistiques sur les hôtes testés (statistics)
Conclusion
On remarque que fping n'est pas révolutionnaire par rapport à ping, mais qu'il apporte tout de même quelques fonctionnalités intéressantes pour une utilisation dans des scripts. Un utilisateur qui cherche à réaliser une requête ICMP directe en ligne de commande préfèrera sans doute ping pour son formatage de sortie plus facile à interpréter par un humain.Hping
Le logiciel hping est une autre alternative à la commande de base ping. Il est relativement évolué et permet de gérer plusieurs protocoles.Son domaine d'applications est plus large que celui de ping ou même fping :
On peut en effet non seulement effectuer des requêtes ICMP pour vérifier la connectivité, mais aussi et surtout des requêtes TCP ou UDP sur le port voulu pour vérifier l'état de ce port sur une machine distante, et ceci de façon discrète. On peut aussi grâce à cette fonctionnalité vérifier le fonctionnement de la pile TCP/IP sur les deux hôtes mis en jeux (source et destinataire).
Fonctionnement
Par défaut, hping envoie des requêtes TCP sur le port 0 de l'hôte de destination, avec aucun drapeau (flag) positionné, ce qui aura pour effet de ne pas être inscrit dans les logs dans la plupart des cas. Le retour sera une réponse TCP avec les drapeaux RST et ACK positionnés si l'hôte distant est connecté avec une configuration TCP/IP fonctionnelle.On peut à volonté positionner tous les drapeaux du segment TCP, ce qui permet de vérifier les politiques des firewalls, et d'en déduire l'état des ports scannés de cette manière.
Une autre fonctionnalité intéressante est de vérifier l'état d'une connexion. On pourra en effet déduire cette information en jouant sur la taille et la fragmentation des segments transmis.
Commandes
Il existe plusieurs familles de commandes pour Hping.Commandes générales
>hping 192.168.4.222
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=128 id=4230 sport=0 flags=RA seq=0 win=0 rtt=0.4 ms
len=46 ip=192.168.4.222 ttl=128 id=4232 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.3/0.4 ms
Commande de base, il suffit d'indiquer l'adresse réseau à testerHPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=128 id=4230 sport=0 flags=RA seq=0 win=0 rtt=0.4 ms
len=46 ip=192.168.4.222 ttl=128 id=4232 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.3/0.4 ms
Il faut tout de même noter que la requête envoyée par défaut est un segment TCP et non ICMP
>hping -i 2 192.168.4.222
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=128 id=4793 sport=0 flags=RA seq=0 win=0 rtt=3.0 ms
len=46 ip=192.168.4.222 ttl=128 id=4794 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
len=46 ip=192.168.4.222 ttl=128 id=4795 sport=0 flags=RA seq=2 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
3 packets tramitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.2/1.1/3.0 ms
L'option -i permet de préciser l'intervalle de temps en secondes entre chaque requête.HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=128 id=4793 sport=0 flags=RA seq=0 win=0 rtt=3.0 ms
len=46 ip=192.168.4.222 ttl=128 id=4794 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
len=46 ip=192.168.4.222 ttl=128 id=4795 sport=0 flags=RA seq=2 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
3 packets tramitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.2/1.1/3.0 ms
>hping -c 2 192.168.4.222
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=3.1 ms
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/1.7/3.1 ms
L'argument -c permet de stipuler le nombre de requêtes qui doivent être émises.HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=3.1 ms
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/1.7/3.1 ms
>hping -c 3 -q 192.168.4.222
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
--- 192.168.4.222 hping statistic ---
3 packets tramitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
-q permet d'activer le quiet mode, pour ne pas afficher une ligne par requête, mais seulement ler résumé final.HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
--- 192.168.4.222 hping statistic ---
3 packets tramitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
>hping -c 2 -V 192.168.4.222
using eth0, addr: 192.168.4.111, MTU: 1500
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=255 DF id=0 tos=0 iplen=40
sport=0 flags=RA seq=0 win=0 rtt=5.6 ms
seq=0 ack=1888402160 sum=35f5 urp=0
------------------
len=46 ip=192.168.4.222 ttl=255 DF id=0 tos=0 iplen=40
sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
seq=0 ack=510875635 sum=4daa urp=0
------------------
--- 192.168.4.222 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/2.9/5.6 ms
-V permet d'activer le mode Verbose, qui affiche tous les détails des requêtes émises.using eth0, addr: 192.168.4.111, MTU: 1500
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=255 DF id=0 tos=0 iplen=40
sport=0 flags=RA seq=0 win=0 rtt=5.6 ms
seq=0 ack=1888402160 sum=35f5 urp=0
------------------
len=46 ip=192.168.4.222 ttl=255 DF id=0 tos=0 iplen=40
sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
seq=0 ack=510875635 sum=4daa urp=0
------------------
--- 192.168.4.222 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/2.9/5.6 ms
Commandes de protocole
Plusieurs commandes permettent de sélectionner le protocole d'émission des requêtes.-0 active le mode RAW IP, qui permet de signer la requête.
-1 sélectionne de mode ICMP, qui équivaut alors à la simple commande ping
-2 sélectionne le mode UDP, qui émet des segments UDP
-9 active le mode listen, qui permet de recevoir des paquets signés
Commandes du protocole IP
>hping 192.168.4.222 -a 192.168.0.0
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
--- 192.168.4.222 hping statistic ---
3 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
L'option -a permet de spoofer une adresse IP, c'est à dire de se faire passer pour quelqu'un d'autreHPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
--- 192.168.4.222 hping statistic ---
3 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
Il faut noter que, utilisée seule, cette option ne permet pas de recevoir les réponses aux requêtes émises
>hping 192.168.4.222 -G
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes len=80 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=4.4 ms RR: 1.2.3.4 192.168.4.222 192.168.4.222 len=80 ip=192.168.4.222 ttl=255 DF id=256 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms (same route) --- 192.168.4.222 hping statistic --- 2 packets tramitted, 2 packets received, 0% packet loss round-trip min/avg/max = 0.2/2.3/4.4 msCette option -G récupère la route utilisée pour atteindre l'hôte distant
Il faut savoir que certains matériels réseau ne supportent pas cette option (certains routeurs notamment)
>hping 192.168.4.222 -t 3
-t permet de spécifier le champ TTL (Time To Live) du protocole IPLa majorité des champs du protocole IP (comme par exemple le code du protocole supérieur) sont modifiables par des arguments de cette manière, nous ne les détaillerons pas tous ici.
Commandes du protocole ICMP
Nous ne détaillerons pas ici la totalité des commandes de ce protocole. Il est juste utile de savoir que chaque champ du protocole ICMP est modifiable en ligne de commande, comme le type de message ICMP, la longueur du paquet ou même le checksum.Commandes des protocoles TCP/UDP
>hping 192.168.4.222 -p 53
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=53 flags=RA seq=0 win=0 rtt=3.1 ms
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=53 flags=RA seq=1 win=0 rtt=0.2 ms
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=53 flags=RA seq=2 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
3 packets tramitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.2/1.1/3.1 ms
Cette option -p précise le port destination que l'on va joindre. Cet outil est très pratique pour faire du scannage de port et ainsi déterminer les sécurités utilisées par un firewall par exemple.HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=53 flags=RA seq=0 win=0 rtt=3.1 ms
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=53 flags=RA seq=1 win=0 rtt=0.2 ms
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=53 flags=RA seq=2 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
3 packets tramitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.2/1.1/3.1 ms
>hping 192.168.4.222 -s 53
HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=0.2 ms
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
L'option -s permet de spécifier le port source de la requête. Cette fonction trouve son utilité lorsqu'on veut passer outre un firewall spécialement configuré par exemple pour une transmission de fichier.HPING 192.168.4.222 (eth0 192.168.4.222): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=0.2 ms
len=46 ip=192.168.4.222 ttl=255 DF id=0 sport=0 flags=RA seq=1 win=0 rtt=0.2 ms
--- 192.168.4.222 hping statistic ---
2 packets tramitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
Ici encore, nous ne détaillerons pas tous les champs modifiables par les différentes options, on peut tout de même citer les champs seq, window, ainsi que tous les drapeaux que l'on peut spécifier un à un.
Commandes permettant de faire de l'échange de fichier
-E permet de spécifier le fichier à envoyer-e permet de préciser la signature des paquets à envoyer
-B permet d'activer la retransmission de paquet gérée par TCP, et permet alors d'avoir un transfert fiable
Exemple :
hoteA>hping hoteB –udp -p 53 -d 100 –sign SIGNATURE -B -E /home/dino/toto.txt
hoteB>hping hoteA –listen SIGNATURE -B –icmp
hoteB>hping hoteA –listen SIGNATURE -B –icmp
Conclusion
hping montre de réels atouts face aux solutions de test plus anciennes telles que ping ou fping. En effet, il apporte la nouveauté de pouvoir réaliser simplement des requêtes entièrement paramétrables avec les protocoles TCP/UDP. Cette possibilité permet plusieurs fonctions avancées qui s'avèrent très utiles, comme tester la politique d'un firewall sur des ports bien particuliers, ou le transfert de fichiers à travers un firewall paranoïaque, ou encore le test d'une liaison.Au final, on peut dire que hping apport à la commande ping l'aspect quantitatif, c'est à dire qu'en plus de savoir si un hôte est connecté ou non, on peut obtenir de nombreux renseignements sur la sécurité de cet hôte et de la liaison qui nous joint à lui.
Netstat
Qu'est ce c'est? A quoi ça sert?
Netstat est un outil réseau permettant d'afficher les connections réseau, les tables de routage, des statistiques sur des interfaces et des connections masqueradées.C'est un outil basique très souvent inclus dans les installations de base de linux.
Commandes
>netstat
Affiche le status des connections réseau en listant les sockets ouverts.Le résultat de cette commande n'est pas contenu dans ce rapport à la vue de la longueur de l'affichage.
Observation des interfaces, tables de routage et multicast:
>netstat -r
-r: affiche la table de routageTable de routage IP du noyau
LxSilvano:/home/collins # netstat -r
Destination Passerelle Genmask Indic MSS Fenêtre irtt Iface
192.168.4.0 * 255.255.255.0 U 40 0 0 eth0
default 192.168.4.50 0.0.0.0 UG 40 0 0 eth0
Destination Passerelle Genmask Indic MSS Fenêtre irtt Iface
192.168.4.0 * 255.255.255.0 U 40 0 0 eth0
default 192.168.4.50 0.0.0.0 UG 40 0 0 eth0
netstat -i
-i: affiche les tables d'interfacesTable d'interfaces noyau
LxSilvano:/home/collins # netstat -i
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 226043 0 0 49 175703 0 0 0 BMRU lo 16436 0 16625 0 0 0 16625 0 0 0 LRU
>netstat -g
-g: affiche les groupes de multicastLxSilvano:/home/collins # netstat -g
IPv6/IPv4 Group Memberships Interface RefCnt Group --------------- ------ --------------------- lo 1 ALL-SYSTEMS.MCAST.NET eth0 1 ALL-SYSTEMS.MCAST.NET lo 1 ipv6-allnodes eth0 1 ff02::1:ffa1:ad0a eth0 1 ipv6-allnodes
netstat -s
-s: affiche les statistiques du réseauLxSilvano:/home/collins # netstat -s
Ip: 175504 total packets received 0 forwarded 0 incoming packets discarded 107431 incoming packets delivered 197791 requests sent out Icmp: 10139 ICMP messages received 10022 input ICMP message failed. Tcp: 95812 active connections openings 0 passive connection openings 0 failed connection attempts 0 connection resets received 1 connections established 141744 segments received 110293 segments send out 13 segments retransmited 0 bad segments received. 8661 resets sent Udp: 384 packets received 1495 packets to unknown port received. 0 packet receive errors 377 packets sent TcpExt: 1 invalid SYN cookies received ArpFilter: 0 55 TCP sockets finished time wait in fast timer 1 time wait sockets recycled by time stamp 113 delayed acks sent 26472 packets directly received from backlog 2486 packets header predicted 30 packets header predicted and directly queued to user TCPPureAcks: 1392 TCPHPAcks: 195 TCPRenoRecovery: 0 TCPSackRecovery: 0 TCPSACKReneging: 0 TCPFACKReorder: 0 TCPSACKReorder: 0 TCPRenoReorder: 0 TCPTSReorder: 0 TCPFullUndo: 0 TCPPartialUndo: 0 TCPDSACKUndo: 0 TCPLossUndo: 1 TCPLoss: 0 TCPLostRetransmit: 0 TCPRenoFailures: 0 TCPSackFailures: 0 TCPLossFailures: 0 TCPFastRetrans: 0 TCPForwardRetrans: 0 TCPSlowStartRetrans: 0 TCPTimeouts: 4 TCPRenoRecoveryFail: 0 TCPSackRecoveryFail: 0 TCPSchedulerFailed: 0 TCPRcvCollapsed: 0 TCPDSACKOldSent: 0 TCPDSACKOfoSent: 0 TCPDSACKRecv: 1 TCPDSACKOfoRecv: 0 TCPAbortOnSyn: 0 TCPAbortOnData: 88836 TCPAbortOnClose: 6 TCPAbortOnMemory: 0 TCPAbortOnTimeout: 2 TCPAbortOnLinger: 0 TCPAbortFailed: 0 TCPMemoryPressures: 0 TCPShortIcmp: 0
>netstat –M
-M: affiche les connexions masquéesLxSilvano:/home/collins # netstat -M
netstat: no support for `ip_masquerade' on this system.
(pas supporté sur ma machine)netstat: no support for `ip_masquerade' on this system.
Observation des ports:
>netstat -lve
l: listen, pour observer les ports en écoute v: mode verbose, verbeux
e: extended, affiche des informations supplémentaires, telles que le nom de l'utilisateur.
Connexions Internet actives (seulement serveurs)
LxSilvano:/home/collins # netstat -lve
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat Utilisatr Inode tcp 0 0 *:login *:* LISTEN root 133130 tcp 0 0 *:printer *:* LISTEN root 1560 tcp 0 0 *:time *:* LISTEN root 133127 tcp 0 0 *:finger *:* LISTEN root 133131 tcp 0 0 *:sunrpc *:* LISTEN root 1105 tcp 0 0 *:x11 *:* LISTEN root 6965 tcp 0 0 *:ftp *:* LISTEN root 133129 tcp 0 0 localhost:smtp *:* LISTEN root 2286 tcp 0 0 *:ssh *:* LISTEN root 1232 udp 0 0 *:time *:* root 133128 udp 0 0 *:sunrpc *:* root 1057 Sockets du domaine UNIX actives(seulement serveurs) Proto RefCpt Indicatrs Type Etat I-Node Chemin unix 2 [ ACC ] STREAM LISTENING 7864 /tmp/.ICE-unix/946 unix 2 [ ACC ] STREAM LISTENING 8652 /tmp/OSL_PIPE_500_SingleOfficeIPC_97639 unix 2 [ ACC ] STREAM LISTENING 6966 /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 7748 /tmp/.ICE-unix/dcop925-1069916718 unix 2 [ ACC ] STREAM LISTENING 8280 /tmp/ksocket-collins/kdesud_:0 unix 2 [ ACC ] STREAM LISTENING 7772 /tmp/ksocket-collins/klauncherWexgWb.slave-socket unix 2 [ ACC ] STREAM LISTENING 2509 /var/run/.nscd_socket unix 2 [ ACC ] STREAM LISTENING 7827 /tmp/mcop-collins/LxSilvano_Cisco-03aa-3fc5a23b unix 2 [ ACC ] STREAM LISTENING 2287 /var/run/sendmail/control unix 2 [ ACC ] STREAM LISTENING 7743 /tmp/ksocket-collins/kdeinit-:0 netstat: no support for `AF IPX' on this system. netstat: no support for `AF AX25' on this system. netstat: no support for `AF X25' on this system. netstat: no support for `AF NETROM' on this system. Netstat -lvnl: listen mode
v: verbose
n: mode numérique, permet de ne pas résoudre les noms liés aux numéro ports. On peut donc connaitre les numéros de ports utilisés.
Connexions Internet actives (seulement serveurs)
LxSilvano:/home/collins # netstat -lvn
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat tcp 0 0 0.0.0.0:513 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:515 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:37 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:79 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 :::22 :::* LISTEN udp 0 0 0.0.0.0:37 0.0.0.0:* udp 0 0 0.0.0.0:111 0.0.0.0:* Sockets du domaine UNIX actives(seulement serveurs) Proto RefCpt Indicatrs Type Etat I-Node Chemin unix 2 [ ACC ] STREAM LISTENING 7864 /tmp/.ICE-unix/946 unix 2 [ ACC ] STREAM LISTENING 8652 /tmp/OSL_PIPE_500_SingleOfficeIPC_97639 unix 2 [ ACC ] STREAM LISTENING 6966 /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 7748 /tmp/.ICE-unix/dcop925-1069916718 unix 2 [ ACC ] STREAM LISTENING 8280 /tmp/ksocket-collins/kdesud_:0 unix 2 [ ACC ] STREAM LISTENING 7772 /tmp/ksocket-collins/klauncherWexgWb.slave-socket unix 2 [ ACC ] STREAM LISTENING 2509 /var/run/.nscd_socket unix 2 [ ACC ] STREAM LISTENING 7827 /tmp/mcop-collins/LxSilvano_Cisco-03aa-3fc5a23b unix 2 [ ACC ] STREAM LISTENING 2287 /var/run/sendmail/control unix 2 [ ACC ] STREAM LISTENING 7743 /tmp/ksocket-collins/kdeinit-:0 netstat: no support for `AF IPX' on this system. netstat: no support for `AF AX25' on this system. netstat: no support for `AF X25' on this system. netstat: no support for `AF NETROM' on this system.
Netcat -lpoN
-p : affiche le nom du programme et le PID du socket -o : affiche les timers
-N : résoud les noms matériels
Connexions Internet actives (seulement serveurs)
LxSilvano:/home/collins # netstat -lpoN
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name Timer tcp 0 0 0.0.0.0:login 0.0.0.0:* LISTEN 4032/inetd off (0.00/0/0) tcp 0 0 0.0.0.0:printer 0.0.0.0:* LISTEN 632/lpd Waiting off (0.00/0/0) tcp 0 0 0.0.0.0:time 0.0.0.0:* LISTEN 4032/inetd off (0.00/0/0) tcp 0 0 0.0.0.0:finger 0.0.0.0:* LISTEN 4032/inetd off (0.00/0/0) tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN 528/portmap off (0.00/0/0) tcp 0 0 0.0.0.0:x11 0.0.0.0:* LISTEN 847/X off (0.00/0/0) tcp 0 0 0.0.0.0:ftp 0.0.0.0:* LISTEN 4032/inetd off (0.00/0/0) tcp 0 0 127.0.0.1:smtp 0.0.0.0:* LISTEN 692/sendmail: accep off (0.00/0/0) tcp 0 0 :::ssh :::* LISTEN 576/sshd off (0.00/0/0) udp 0 0 0.0.0.0:time 0.0.0.0:* 4032/inetd off (0.00/0/0) udp 0 0 0.0.0.0:sunrpc 0.0.0.0:* 528/portmap off (0.00/0/0) Sockets du domaine UNIX actives(seulement serveurs) Proto RefCpt Indicatrs Type Etat I-Node PID/Program name Chemin unix 2 [ ACC ] STREAM LISTENING 7864 946/kdeinit: ksmser /tmp/.ICE-unix/946 unix 2 [ ACC ] STREAM LISTENING 8652 1059/soffice.bin /tmp/OSL_PIPE_500_SingleOfficeIPC_97639 unix 2 [ ACC ] STREAM LISTENING 6966 847/X /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 7748 925/kdeinit: dcopse /tmp/.ICE-unix/dcop925-1069916718 unix 2 [ ACC ] STREAM LISTENING 8280 1020/kdesud /tmp/ksocket-collins/kdesud_:0 unix 2 [ ACC ] STREAM LISTENING 7772 928/kdeinit: klaunc /tmp/ksocket-collins/klauncherWexgWb.slave-socket unix 2 [ ACC ] STREAM LISTENING 2509 778/nscd /var/run/.nscd_socket unix 2 [ ACC ] STREAM LISTENING 7827 938/artsd /tmp/mcop-collins/LxSilvano_Cisco-03aa-3fc5a23b unix 2 [ ACC ] STREAM LISTENING 2287 692/sendmail: accep /var/run/sendmail/control unix 2 [ ACC ] STREAM LISTENING 7743 922/kdeinit: Runnin /tmp/ksocket-collins/kdeinit-:0Les autres options disponibles:
-F: affiche les informations de la Forwarding Information Base(FIB).
Mais ici il n'y a pas de forwarding mis en oeuvre, donc cette option n'affiche rien de plus.
-C: affiche le cache de routage au lieu de FIB
Conclusion
Netstat est avant tout un outil fait pour observer la configuration réseau de la machine locale. Qu'il s'agisse des ports en écoute ou des informations de routage. Il fait parti des petits outils pratiques et reconnus d'administration réseau.MRTG
Cet outil permet de générer des graphiques en fonction de donnés SNMP, ou d'un quelconque script shell. Nous avons limité notre étude à la représentation de données SNMP.Les avantages et inconvénients
Il fonctionne avec un agent SNMP quel qu'il soit sur la station observée. D'où une facilité d'utilisation. Il n'est pas évident à mettre en place, surtout la première fois. On appréciera la génération de graphique automatique sur des fichiers html.Mise en place
Elle s'effectue en deux temps. D'abord la génération d'un fichier de configuration, et ensuite le déclenchement de la surveillance et prise de mesures.La génération de fichiers de configuration:
Le fichier de configuration définit la machine cible, ainsi que les objets SNMP à observer.
Il faut ensuite lancer l'observation. Pour cela on lance mrtg avec le fichier de configuration correspondant à la machine à observer. On lance tout ceux dont on a besoin, les uns après les autres.
Utilisation
Avant d'utiliser mrtg une phase importante, aussi bien en conséquences qu'en temps passé, est la phase d'installation et configuration. Elle commence par le fichier de configuration. Pour plus de simplicité, ce fichier peut être généré par cfgmaker. Voici une commande permettant de générer un tel fichier:cfgmaker --global 'WorkDir: /home/projet/station68' --output /home/projet/station68.cfg 192.168.4.68
Le WorkDir étant le chemin définissant le répertoire de travail où les différents fichiers temporaires seront placés. Le ouput définit l'emplacement du fichier de configuration généré. L'adresse IP donnée précise la station observée.Il y a néanmoins quelques choses à modifier dans le fichier de configuration. Notamment préciser les OID à prendre en compte. Cependant deux OID par défaut sont entrés: ifInOctets et ifOutOctets.
Target[UcastPkts]: .1.3.6.1.2.1.2.2.1.11.2&.1.3.6.1.2.1.2.2.1.12.2:public@192.168.4.68
Chaque OID est située de part et d'autre du "&". On peut donc les changer avec les OID souhaitées.On doit absolument prendre 2 OID , on ne peut en prendre qu'un seul. Par contre on peut effectuer des opérations sur plusieurs OID: que la première mesure soit la somme ou la différence de 2 observations d'OID. Quoi qu'il en soit, il faut toujours 2 séries de mesures. D'autre part, les instants de prise de mesures peuvent être définis par un planificateur de tache ou être prises régulièrement. Dans ce dernier cas, il faut définir l'exécution comme démon par l'option RunAsDaemon dans le fichier de configuration.
RunAsDaemon: Yes
Lancement de mrtg
Une fois le fichier de configuration généré, on peut alors lancer mrtg en spécifiant le fichier de configuration à utiliser.Mrtg génère alors plusieurs fichiers dans le répertoire de travail (WorkDir lors de la génération du fichier de configuration). Et parmi les fichiers créés, il y a un fichier HTML. C'est ce fichier qui contient les graphiques à jour jusqu'au moment de l'ouverture du fichier. De nombreuses options sont disponibles en ce qui concerne la présentation du graphique.
Pour les options de configuration se reporter à:
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/config.html
La documentation:
0 commentaires:
Enregistrer un commentaire