Comment surveiller l'activité du réseau sur un système Linux

Comment surveiller l'activité du réseau sur un système Linux

Il existe de nombreuses raisons pour lesquelles vous voudrez peut-être surveiller l'activité du réseau sur votre système Linux. Vous pouvez dépanner un problème de réseau, vous pouvez vérifier pour vous assurer qu'il n'y a pas d'applications malveillantes créant une activité de réseau suspecte, ou vous pouvez simplement savoir si des processus téléphonent à la maison. Quelle que soit la raison, voici quelques méthodes pour voir quels processus sur votre système sont engagés dans l'activité du réseau et avec qui ils communiquent.

Dans ce tutoriel, vous apprendrez:

  • Comment surveiller les connexions réseau et les services d'écoute avec netstat
  • Comment surveiller les connexions réseau et les services d'écoute avec LSOF
  • Comment surveiller les connexions réseau et les services d'écoute avec ifconfig
  • Quels outils vous pouvez utiliser pour examiner les données envoyées sur le réseau
Comment surveiller l'activité du réseau sur un système Linux

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Indépendant de la distribution
Logiciel netstat, lsof, ifconfig, wireshark, tcpdump
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Netstat

Netstat est un utilitaire puissant qui peut imprimer des connexions réseau, des tables de routage, des statistiques d'interface, des connexions de mascarade et des abonnements à la multidiffusion. Nous l'utiliserons pour accomplir le premier.

Installation de netstat

Sur les systèmes basés à Debian et Debian tels que Ubuntu, utilisez APT.

# APT Installer Net-Tools 

Sur Red Hat Enterprise Linux et Red Hat Systems, utilisez Yum,

# yum install net-tools

Sur les systèmes basés sur la voûte, utilisez Pacman.

# Pacman -s Net-tools 


NOTE
Dans les exemples suivants, nous utilisons une nouvelle installation de RHEL 8 en cours d'exécution dans VirtualBox avec des ajouts d'invités installés

Voir les processus d'écoute

Tout d'abord, voyons les processus qui écoutent les connexions. Pour ce faire, entrez la commande suivante.

$ sudo netstat -tulpen 

Dans cette commande t affichages TCP Connexions, u Affiche les connexions UDP, l ne montre que des prises d'écoute, p montre le programme auquel appartient la connexion,e affiche des informations prolongées, et n représente les adresses, les utilisateurs et les ports numériquement.

sortie netstat -tulpen

Lorsque l'on considère le modèle de serveur client sur lequel la plupart des logiciels de réseautage sont basés, les processus d'écoute peuvent être considérés comme un logiciel en mode «serveur». Il n'y a rien de surprenant dans la sortie étant donné notre configuration. Ce sont tous les processus que vous vous attendez à écouter pour les connexions réseau sur une nouvelle installation de Rhel 8 en cours d'exécution Virtualbox.

Pour chaque processus d'écoute, vous pouvez voir le protocole utilisé, l'adresse locale et le port sur lequel il écoute, l'utilisateur dans lequel il fonctionne et le nom PID / programme. Il y a une distinction importante à noter ici. Pour TCP4/ /udp4 Connexions (simplement répertoriées comme TCP et UDP) où le Adresse locale est répertorié comme 0.0.0.0 Le processus écoute les connexions de toute machine capable de s'y connecter sur le réseau, alors que lorsqu'il est répertorié comme 127.0.0.1 Il n'écoute que des connexions sur le LocalHost (la machine sur laquelle il fonctionne ou elle-même) et ne peut pas être connectée par d'autres ordinateurs du réseau. La même distinction est vraie pour TCP6/ /udp6 Lorsque vous comparez un Adresse locale de ::(Face au réseau) et ::1(localhost seulement).

Afficher toutes les connexions réseau

Jetons maintenant un coup d'œil à toutes les connexions réseau actuelles. Pour ce faire, entrez la commande suivante, qui est similaire à la précédente sauf que nous utilisons -un Pour voir toutes les prises au lieu de -l Pour voir simplement les prises d'écoute.

$ sudo netstat -attupen 


En plus de nous montrer quels logiciels nous avons écoutés pour les connexions comme des «serveurs», cette commande nous montre également des connexions actuellement établies à ce logiciel et à toutes les connexions réseau établies que nous avons en utilisant un logiciel agissant comme un «client» tel qu'un navigateur Web.

Sortie netstat-atupen

Dans la capture d'écran, vous remarquerez 2 connexions dans le ÉTABLI État. Encore une fois, il n'y a pas de surprise ici. L'un d'eux appartient à NetworkManager et travaille comme client DHCP pour activer la mise en réseau à partir du serveur de passerelle (dans ce cas, la machine hôte). L'autre est une connexion SSH à la machine que nous avons faite après le transfert de port du service SSH avec VirtualBox. Si nous avions vu quelque chose d'inattendu ici, cela peut être un motif pour une enquête plus approfondie.

Afficher les connexions établies

Vous pouvez vous retrouver dans une situation où vous voulez seulement voir le ÉTABLI Connexions. C'est aussi simple que de tuyau de la sortie de netstat vers Grep comme ainsi.

$ sudo netstat -Atupen | Grep établi 
sudo netstat -attupen | Sortie établie Grep

Nous avons entré la commande ci-dessus après avoir navigué à Wikipedia.com dans Firefox et la capture d'écran capture les connexions établies par Firefox lorsque vous atteignez le site. Comme vous pouvez le voir, il existe quatre serveurs auxquels Firefox a connecté; 91.198.174.192, 172.217.23.100, 216.58.215.67, et 104.111.215.142.
Pour voir à qui ces serveurs appartiennent, nous pouvons interroger les adresses IP avec des whois comme ainsi.

$ whois 91.198.174.192 | moins 

Le faire pour chacun d'eux révèle qu'ils appartiennent respectivement à Wikimedia, Google, Google et Akamai.
Cela est logique considérant que Wikimedia possède et héberge Wikipedia et il est très courant que les sites chargent des ressources qui sont hébergées sur des serveurs appartenant à Google et Akamai. En fait, l'examen du code source de la page d'accueil de Wikipedia révèle qu'il charge l'application Google Play Store de Google.com et l'Apple Appstore App-Badge d'Apple.com.

Naviguer vers les URL de ces 2 badges d'application individuellement et émettre la commande netstat ci-dessus vérifie en effet qu'elles sont hébergées sur des serveurs appartenant à Google et Akamai respectivement.

Si cela a suscité votre intérêt pour netstat Ensuite, nous avons un article que vous pouvez lire pour en savoir plus sur l'utilisation de la commande netstat

SS

Le netstat La commande est depuis longtemps un favori des systèmes, mais il a récemment été remplacé par le SS commande qui se vante d'être plus rapide, plus facile et plus lisible humain que netstat. Voyons comment accomplir les mêmes actions que celles effectuées ci-dessus en utilisant SS. SS a également un -e Option pour afficher les informations étendues, mais cette option a été omise des exemples ci-dessous car il produit des informations supplémentaires qui peuvent entraîner une sortie moins lisible.

Voir les processus d'écoute

Pour afficher tous les processus d'écoute, entrez ce qui suit.

$ sudo ss -tlunp 


Dans cette commande t affichages TCP Connexions, l ne montre que des prises d'écoute, u Affiche les connexions UDP, n représente les adresses, les utilisateurs et les ports numériquement, et p montre le programme auquel appartient la connexion.

Afficher toutes les connexions réseau

Pour afficher toutes les connexions réseau, entrez ce qui suit, où un remplace l et montre toutes les prises de réseau non seulement en écoutant.

$ sudo ss -taUnp 

Afficher les connexions établies

Si -un ou -l ne sont pas inclus alors SS ne montrera que des connexions établies. Pour afficher uniquement les connexions établies, entrez ce qui suit.

$ sudo ss -tunp 

lsof

Au cas où netstat et SS n'étaient pas suffisants pour vous, nous présentons lsof. Lsof est utilisé pour lister les fichiers ouverts. GNU / Linux a hérité du principe de conception Unix que tout est un fichier; Cela inclut les connexions réseau. Par conséquent, lsof peut être utilisé pour visualiser l'activité du réseau d'une manière similaire aux commandes susmentionnées.

Afficher toutes les connexions réseau

Pour afficher toutes les connexions réseau, entrez ce qui suit.

$ sudo lsof -np -i 

Dans cette commande n représente les adresses numériquement, P représente les ports numériquement, et je Supprime la liste des fichiers ouverts qui ne sont pas considérés comme des fichiers réseau.

Afficher les connexions établies

Pour afficher uniquement les connexions établies, entrez ce qui suit où les commutateurs supplémentaires répertorient tous TCP Connexions.

$ sudo lsof -np -itcp -stcp: établi 

Voir les processus d'écoute

Pour afficher les processus d'écoute en utilisant lsof Entrez ce qui suit.

$ sudo lsof -np -itcp -stcp: écouter

Cela manquera tous les processus qui écoutent sur UDP, il peut donc être souhaitable d'entrer à la place ce qui suit pour inclure ceux.

$ sudo lsof -np -i | grep 'écouter \ | udp' 

Surveillance des données envoyées sur le réseau

Nous avons vu comment netstat, SS, et ifconfig Peut être utilisé pour surveiller les connexions du réseau en cours et à qui, mais il est souvent souhaitable de voir exactement quelles données sont envoyées sur le réseau. Pour atteindre cet objectif, nous avons besoin d'applications capables de renifler les paquets. Deux programmes spécialisés dans ce domaine sont tcpdump et Wireshark.

Nous avons précédemment écrit des guides sur la façon d'installer Wireshark sur RHEL 8, les bases de l'analyseur de protocole réseau Wireshark sur Linux, le filtrage des paquets dans Wireshark sur Kali Linux et le Surveillance du réseau La section de la surveillance du système Linux et du matériel rendu efficace comprend une belle introduction à tcpdump.

Conclusion

Dans cet article, nous avons discuté de la façon de visualiser les processus d'écoute, les connexions établies et toutes les connexions réseau en utilisant netstat, SS, et ifconfig. Nous avons ensuite introduit des outils pour examiner les données réelles transmises sur le réseau et liées à d'excellentes ressources qui sont inestimables pour découvrir comment les utiliser.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Choses à installer sur Ubuntu 22.04
  • Installez Arch Linux dans VMware Workstation
  • Comment doubler Kali Linux et Windows 10
  • Ubuntu 20.04 Guide
  • Téléchargement Linux