Skip to main content

Comment utiliser la commande Netstat sur Mac

How to use the command line on Mac (Mai 2024)

How to use the command line on Mac (Mai 2024)
Anonim

La commande netstat sur macOS est une commande de terminal utilisée pour afficher des informations détaillées sur les communications réseau de votre Mac. Les communications réseau incluent tous les moyens utilisés par votre Mac pour communiquer avec le monde extérieur, via tous les ports et toutes les applications. Après avoir maîtrisé netstat, les utilisateurs de Mac peuvent rapidement comprendre les connexions établies par leur ordinateur et pourquoi.

Courir Netstat

La commande netstat est disponible sur les Mac par défaut. Il n'a pas besoin d'être téléchargé ou installé.

Pour exécuter netstat, ouvrez une fenêtre de terminal. Si vous n'êtes pas familier avec Terminal, vous le trouverez dans /Applications/Utilities/Terminal.app. Type netstat et appuyez sur Entrée pour exécuter la commande.

Vous remarquerez qu'une énorme quantité de texte crypté commencera à défiler sur votre écran. Ceci est normal et attendu. Sans aucune option supplémentaire, netstat signalera toutes les connexions réseau actives sur votre Mac. Compte tenu du nombre de fonctions exécutées par un périphérique réseau moderne, la liste peut être longue. Un rapport netstat standard peut exécuter plus de 1000 lignes.

Le filtrage de la sortie de netstat est essentiel pour comprendre ce qui se passe sur les ports actifs de votre Mac. Vous pouvez filtrer la sortie de netstat avec les indicateurs intégrés. Ces indicateurs vous permettent de définir des options, limitant ainsi la portée et la sortie de netstat.

Drapeaux et options Netstat

Pour voir toutes les options disponibles de netstat, tapez man netstat à l'invite de commande. Cela révélera la page de manuel de netstat. Vous pouvez également afficher une version en ligne de la page de manuel netstat.

netstat -AabdgiLlmnqrRsSvWx -c queue -F adresse_famille -JE interface -p protocole -w attendre

Netstat sur macOS ne fonctionne pas de la même manière que netstat sous Windows ou netstat sous Linux. L'utilisation d'indicateurs ou de syntaxe à partir de ces implémentations de netstat peut ne pas avoir le comportement attendu.

Pointe: Si le raccourci ci-dessus semble totalement incompréhensible, apprenez à lire la syntaxe de commande.

-r affiche la table de routage, montrant comment les paquets sont routés sur le réseau.

-p protocole répertorie le trafic associé à un protocole de réseau spécifique. Bien que la liste complète des protocoles se trouve dans / etc / protocoles, les plus importants sont udp et tcp.

-v augmente la verbosité, notamment en ajoutant une colonne indiquant l'ID de processus (PID) associé à chaque port ouvert.

-JE interface fournit des données par paquets pour l'interface spécifiée. Toutes les interfaces disponibles peuvent être affichées avec l'indicateur -i, mais en0 est généralement l'interface réseau sortante par défaut. Notez la lettre minuscule.

-g affiche les informations associées aux connexions multicast.

-s affiche les statistiques de réseau pour tous les protocoles, qu'ils soient actifs ou non.

-n supprime les libellés des adresses distantes avec des noms. Cela accélère considérablement la sortie de netstat tout en ne sacrifiant que des informations limitées.

-une inclut les ports du serveur dans la sortie de netstat, qui ne sont pas inclus dans la sortie par défaut.

Exemples Netstat

Pour mettre notre compréhension en pratique, examinons quelques exemples de netstat.

netstat -apv TCP

Cette commande ne renverra que les connexions TCP sur votre Mac, y compris les ports ouverts et les ports actifs. Il utilisera également une sortie commentée, répertoriant les PID associés à chaque connexion.

netstat -a | grep -i "écouter"

Cette combinaison de netstat et de grep révélera les ports ouverts sur votre Mac. Les ports ouverts sont des ports qui écoutent un message. Si vous ne connaissez pas la syntaxe, le caractère de canal | est utilisé pour envoyer le résultat d'une commande à une autre. Nous dirigeons la sortie de netstat vers grep, ce qui nous permet de rechercher le mot clé "listen" et de trouver nos résultats.

Accéder à netstat via l'utilitaire de réseau

En plus d'une utilisation complète via l'interface de ligne de commande du terminal, certaines fonctionnalités de netstat sont également accessibles via l'application Network Utility. Cette application macOS intégrée peut être trouvée dans / Applications / Utilitaires / Network Utility.app. Ouvrez l'application et cliquez sur le bouton Netstat onglet pour accéder à l'interface graphique de netstat.

Les options de Network Utility sont nettement plus limitées que celles disponibles via la ligne de commande. Les quatre sélections de boutons radio exécutent simplement une commande netstat prédéfinie et affichent la sortie sur l'écran ci-dessous.

Les commandes netstat pour chaque bouton radio sont les suivantes:

  • Afficher les informations de la table de routage exécute netstat -r
  • Afficher des statistiques de réseau complètes pour chaque protocole exécute netstat -s
  • Afficher les informations de multidiffusion exécute netstat -g
  • Afficher l'état de toutes les connexions de socket actuelles exécute netstat

Compléter netstat avec lsof

Le fait est que la mise en œuvre macNet de netstat n'inclut pas une grande partie des fonctionnalités attendues par les utilisateurs. Bien qu'il ait des utilisations différentes, netstat n'est pas aussi utile sous macOS que sous Windows. Une commande différente, lsof, peut remplacer une grande partie des fonctionnalités manquantes.

lsof affiche tous les fichiers actuellement ouverts par les applications. Cela peut également être utilisé pour inspecter les ports ouverts associés aux applications. Exécutez lsof -i, et vous verrez une liste de toutes les applications communiquant sur Internet. Ceci est généralement l'objectif lorsque vous utilisez netstat sur des machines Windows. Cependant, le seul moyen significatif d’accomplir cette tâche sur macOS n’est pas avec netstat, mais avec lsof.

Afficher chaque fichier ouvert ou connexion Internet est souvent extrêmement prolixe.C'est pourquoi lsof propose un certain nombre d'indicateurs permettant de limiter les résultats avec des critères spécifiques. Il existe de nombreux indicateurs utiles qui développent l'utilitaire de la commande. Les plus importants sont ci-dessous. Pour des lectures supplémentaires, comprenant plus de drapeaux et des explications techniques sur la mise en œuvre de chaque drapeau, consultez la page de manuel de lsof ou lancez la commande homme lsof à l'invite du terminal.

Drapeaux et options

-je affiche toutes les connexions réseau ouvertes et le nom du processus utilisant la connexion. Ajouter un 4, comme dans -i4, affichera uniquement les connexions IPv4. Ajouter un 6 à la place (-i6) affichera uniquement les connexions IPv6.

le -je flag peut également être développé pour spécifier des détails supplémentaires. -iTCP ou -iUDP ne renverra que les connexions TCP et UDP. -iTCP: 25 ne renverra que les connexions TCP sur le port 25. Une plage de ports peut être spécifiée avec un tiret, comme -iTCP: 25-50.

L'utilisation de [email protected] ne renverra que les connexions à l'adresse IPv4 1.2.3.4. Les adresses IPv6 peuvent être spécifiées de la même manière. @ Precursor peut également être utilisé pour spécifier les noms d’hôte de la même manière, mais les adresses IP distantes et les noms d’hôte ne peuvent pas être utilisés simultanément.

-s oblige généralement lsof à afficher la taille du fichier. Mais lorsque jumelé avec le -je drapeau, -s fonctionne différemment. Au lieu de cela, il permet à l'utilisateur de spécifier le protocole et le statut de la commande à renvoyer.

-p limite lsof à un ID de processus particulier (PID). Plusieurs PID peuvent être définis à l'aide de communs, tels que -p 123 456 789. Les ID de processus peuvent également être exclus avec un ^, comme dans 123, ^ 456, ce qui exclurait spécifiquement le PID 456.

-P désactive la conversion des numéros de port en noms de port, ce qui accélère la sortie.

-n désactive la conversion des numéros de réseau en noms d'hôtes. Lorsqu'il est utilisé avec -P ci-dessus, il peut considérablement accélérer la sortie de lsof.

-vous utilisateur ne renvoie que les commandes appartenant à l'utilisateur nommé.

lsof exemples

Comme netstat, voir quelques exemples de lsof aidera à mettre en pratique notre compréhension.

lsof -nP [email protected]: 513

Cette commande complexe va lister toutes les connexions TCP avec le nom d’hôte lsof.itap et le port 513. Il exécutera également lsof sans connecter les noms aux adresses IP et aux ports, ce qui accélérera considérablement l'exécution de la commande.

lsof -iTCP -sTCP: LISTEN

Cela renverra chaque connexion TCP avec le statut ECOUTER. Cela révèle tous les ports TCP ouverts sur votre Mac. Il répertorie également les processus associés à ces ports ouverts. Il s’agit d’une mise à niveau importante par rapport à netstat, qui répertorie tout au plus les PID.

sudo lsof -i -u ^ $ (whoami)

Renvoie toutes les connexions ne pas appartenant à l'utilisateur actuellement connecté. Cette commande est un peu différente des autres, nous allons donc la décomposer en détail.

Le caret ^ est utilisé pour la négation. Tout ce qui correspond au texte après le curseur sera supprimé des résultats. Nous obtenons le nom de l'utilisateur actuellement connecté en exécutant qui suis je dans la commande lsof, entourée de $() de laisser lsof accéder à sa sortie sous forme de texte. Courir avec sudo vous permet de voir des tâches qui ne vous appartiennent pas. Exécuter cette commande sans sudo retournera une liste vide.

Autres commandes de mise en réseau

Parmi les autres commandes réseau susceptibles d'intéresser l'examen de votre réseau, on peut citer arp, ping et ipconfig.