Comment utiliser netstat sous GNU / Linux

Essayez Notre Instrument Pour Éliminer Les Problèmes

Netstat est un utilitaire très puissant qui listera toutes les connexions TCP et UDP, ainsi que les connexions socket unix actuellement à l'écoute des connexions ainsi que actuellement connectées. Bien que de nombreux utilisateurs à domicile n'aient pas nécessairement à s'inquiéter à ce sujet, les joueurs en ligne, ou toute personne qui a l'intention d'héberger n'importe quel type de serveur à l'avenir, devront sûrement à un moment donné faire face aux ports.

Netstat est également utile pour la sécurité et la confidentialité, par exemple pour savoir quels programmes «parlent» à Internet.

L'utilisation de netstat peut être un processus extrêmement simple, ou cela peut devenir très compliqué et lourd, selon l'utilisation; nous allons donc examiner aujourd'hui certaines des utilisations les plus courantes de Netstat.

Comme promis (dans mon article ' Comment trouver les informations de mon réseau sous Linux ? ') Je vais vous présenter la commande netstat. Cette commande est un outil très utile pour découvrir les informations de réseau telles que les tables de routage, les connexions réseau, les statistiques d'interface, les connexions masquées et les appartenances multicast. Mais ce n'est pas aussi simple à utiliser que certains des autres outils de «découverte» (comme ifconfig). Avec netstat, vous avez vraiment besoin de savoir ce que vous recherchez et comment le trouver. Cet article vous aidera à comprendre exactement cela.

Installation?

Heureusement, votre distribution devrait être accompagnée du netstat commande pré-installée. Pour vérifier cela, ouvrez une fenêtre de terminal (c'est là que vous utiliserez de toute façon netstat) et exécutez la commande quel netstat . Cette commande devrait renvoyer quelque chose comme / bin / netstat . Cela vous dira que l'outil est installé et où se trouve l'exécutable.

Principes de base de Netstat

La commande de base netstat ressemble à ceci:

OPTIONS D'ARGUMENT netstat

Où ARGUMENT est le type de famille d'adresses sur lequel vous souhaitez obtenir des informations et OPTIONS est la ou les options facultatives qui spécifieront le type d'informations que vous obtenez.

Parce que netstat offre une telle variété d'options, il serait peut-être préférable de commencer par énumérer certaines des options les plus utiles.

  • à : Affiche l'état de toutes les sockets et des entrées de la table de routage.
  • c : Afficher les informations en continu.
  • : Affiche l'état de toutes les interfaces qui utilisent DHCP.
  • est : Afficher des informations étendues.
  • g : Affiche les informations d'appartenance au groupe de multidiffusion pour IPv4 et IPv6.
  • je : Affiche un tableau de toutes les inferfaces réseau.
  • l : Limiter les statistiques à une interface définie.
  • M : Afficher les tables de routage multicast.
  • n : Affiche les adresses réseau sous forme de nombres au lieu des symboles par défaut.
  • p : Afficher les tables de résolution d'adresse.
  • P : Limiter les statistiques à un protocole défini.
  • r : Affiche toutes les tables de routage.
  • t : Afficher les connexions TCP.
  • u : Affiche les connexions UDP.
  • v : Utilisez le mode détaillé pour la sortie.

Jetons donc un coup d'œil et voyons comment ceux-ci peuvent être utilisés ensemble.

netstat

En elle-même (pas d'options), cette commande imprime des statistiques génériques de l'hôte auquel vous êtes actuellement connecté.

netstat -an

Cette commande affiche toutes les connexions à l'hôte, y compris les adresses et ports source et de destination, et les affiche sous forme de nombres.

netstat -rn

Cette commande affichera la table de routage de l'hôte sous forme numérique.

netstat -r

Cette commande affichera votre table de routage pour votre hôte.

netstat -natp

Cette commande affichera les connexions TCP actives sous forme numérique.

netstat -t - écoute

Cela vous montrera tous les ports TCP sur lesquels vous hébergez.

netstat - statistiques

Cette commande affichera diverses statistiques pour les interfaces de votre hôte. Notez que cette commande affichera BEAUCOUP de statistiques.

Comme vous pouvez le voir, cette commande affichera pas mal d'informations. En plus de cela, vous devrez peut-être diriger cette commande via la commande less afin de la voir plus facilement. Cette commande complète ressemblerait à netstat --statistics | Moins. L'utiliser de cette façon vous permettrait d'utiliser vos touches fléchées pour faire défiler vers le haut et vers le bas dans la sortie.

Conseils d'utilisation pour Netstat

L'un des moyens les plus basiques et les plus courants d'utiliser netstat est de vérifier quels ports écoutent

  • netstat -l

Ce qui donne quelque chose comme ça sur mon système Antergos fraîchement installé

netstat -l

Ou, si vous souhaitez cibler un peu plus votre recherche, vous pouvez ajouter une autre option pour trier spécifiquement pour différents types de connexions

  • netstat -lt # pour TCP
  • netstat -lu # pour UDP
  • netstat -lx # pour Unix

Ou, vous pouvez aller à l'extrémité opposée du spectre et lister toutes les connexions

  • netstat -a

Si vous préférez, une autre option qu'il peut être utile de garder à l'esprit consiste à utiliser l'option «n». Lorsque vous utilisez netstat -n ou netstat -ltn par exemple, tous les noms d'hôte n'essayeront plus d'être résolus et seules les adresses IP seront affichées, comme dans l'exemple ci-dessous.

netstat-ltn

Comme vous pouvez le voir, localhost dans le nom, a été résolu en sa valeur numérique après avoir utilisé l'option «n»

Une autre façon d’utiliser netstat est netstat -ie, le «i» pour les interfaces et le «e» pour «extended» qui nous aideront à obtenir une sortie plus lisible par un humain.

netstat -ie # Cela nous montrera une liste d'interfaces réseau et des informations sur chaque périphérique.

netstat ie

Conseils avancés de Netstat

Ce que nous voulons faire, c'est dire à netstat de nous donner une sortie pour des applications spécifiques qui écoutent les connexions TCP. Pour ce faire, nous émettons la commande:

  • netstat --tcp --écoute --programmes

La sortie de cette commande ressemblerait à quelque chose comme:

Proto Recv-Q Adresse locale Send-Q Adresse étrangère Stat PID / programme
tcp 0 0 *: ssh *: * ÉCOUTER 25469 / sshd
tcp 0 0 *: httpd *: * ÉCOUTER 26754 / httpd
tcp 0 0 localhost: ipp *: * ÉCOUTER -

Vous pouvez maintenant voir des informations utiles. Dans la sortie ci-dessus, vous pouvez voir que sshd et httpd écoutent les connexions entrantes. Ce qui précède n'est qu'un extrait de ce à quoi la sortie peut ressembler. Ce qui est très pratique avec cette commande, c'est qu'elle vous montrera s'il y a une commande ou une adresse locale à l'écoute des connexions entrantes qui ne devraient pas être à l'écoute. Si vous trouvez une application qui ne devrait pas écouter, supprimez-la pour être sûre.

Route

Netstat est capable d'imprimer rapidement la table de routage du noyau de vos machines avec la commande:

netstat -r

La sortie de cette commande ressemblera à:

Table de routage IP du noyau
Destination Gateway Genmask Flags Fenêtre MSS irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
par défaut 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Statistiques

C'est l'un des outils les plus pratiques de netstat. Avec cela, vous pouvez découvrir exactement la statique de chaque protocole. La structure de commande de base est:

netstat - statistiques

qui vous donnera beaucoup plus d'informations que vous ne le souhaitez. Disons que vous ne voulez voir que des statistiques sur le protocole TCP. Pour cela, vous pouvez émettre la commande:

netstat -t --statistiques

La sortie de la commande ci-dessus comprendra des informations telles que:

Tcp:
4343 ouvertures de connexions actives
8 ouvertures de connexion passives
5 tentatives de connexion infructueuses
178 réinitialisations de connexion reçues
6 connexions établies
59075 segments reçus
60033 segments envoyés
76 segments retransmis
0 mauvais segments reçus.
303 réinitialisations envoyées

Ou vous pouvez également obtenir des informations sur UDP avec la commande:

netstat -u --statistiques

Ce qui vous donnerait une sortie similaire pour le protocole UDP.

Faire preuve de créativité

Et si vous vouliez voir toutes les adresses IP uniques connectées à un serveur? Vous pouvez le faire avec netstat (et l'aide de quelques autres outils) comme ceci:

netstat -nat | awk '{imprimer $ 5}' | couper -d: -f1 | sed -e '/ ^ $ / d | uniq

La sortie de la commande ci-dessus dépendra de la quantité de trafic que votre machine / serveur reçoit. Mais il inclura toutes les adresses IP uniques tentant de se connecter à votre serveur.

Pourquoi ne pas vérifier si votre serveur subit une attaque DOS? Vous pouvez le faire avec netstat comme ceci:
netstat -anp | grep 'tcp | udp' | awk '{imprimer $ 5}' | couper -d: -f1 | trier | uniq -c | trier -n

La commande ci-dessus répertorie les adresses IP demandant le plus grand nombre de connexions à votre serveur. Si vous voyez un nombre beaucoup plus élevé qu'il ne devrait l'être, vous êtes très probablement victime d'une attaque de déni de service.

Dernières pensées

Netstat est l'un de ces outils dont vous ne penserez jamais vraiment avoir besoin, jusqu'à ce que vous le fassiez soudainement; et il est toujours bon de savoir comment l'utiliser en cas de besoin, au moins à un niveau de base. Pour plus d'informations sur l'utilisation de la commande netstat et ses options, consultez les pages de manuel en tapant homme netstat .

Maintenant, c'est à votre tour: Quel est votre utilitaire préféré pour vérifier les informations du réseau et pourquoi? Faites le nous savoir dans les commentaires!

Articles Liés