Comment surveiller l'activité du réseau sur un système Linux
- 3622
- 53
- Romain Martinez
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
Exigences et conventions logicielles utilisées
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.
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-atupenDans 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 établisudo 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
- « Comment utiliser Nginx pour rediriger tout le trafic de HTTP à HTTPS
- Meilleurs jeux de terminaux sur Linux »