En bref, nous décrirons les ports du réseau informatique et, plus loin, nous expliquerons comment répertorier tous les ports ouverts sous Linux.
Un port peut être défini comme une entité logique en termes de réseaux informatiques et de logiciels.
Il agit comme un point final de communication pour identifier un processus ou une application donnée sur le Système d'exploitation Linux . Un port est un 16 bits (de 0 à 65535) numéro qui différencie une application unique des autres sur différents systèmes finaux.
Deux des protocoles de transport Internet les plus connus, Protocole de datagramme utilisateur (UDP) et Protocole de contrôle de transmission (TCP) et d'autres protocoles appliquent des numéros de port pour de nombreuses sessions de communication (numéros de port de destination et source en conjonction avec les adresses IP de destination et source).
Une combinaison d'un protocole, d'un port et d'une adresse IP comme TCP/UDP s'appelle un prise. Il est nécessaire que tous les services disposent d'une socket spécifique.
différence de date Excel
Catégories de port
Ces ports sont divisés en trois catégories pour faciliter leur utilisation car la variété de ports est grande. Toutes les catégories sont étiquetées comme plage de valeurs de port :
0-1023 : Ces ports sont bien connu et j'ai appelé 'Système' ports. Ils sont réservés aux processus du système qui fournissent une vaste gamme de services réseau. Un processus doit avoir les privilèges d'un superutilisateur pour se lier à n'importe quel 'Bien connu' port.
1024-49151 : Ces ports sont 'Inscrit' et a appelé le 'Utilisateur' ports. Ils sont désignés via IANA pour des prestations uniques. Un processus peut avoir une authentification sur demande. Il n'a besoin d'aucun privilège d'un superutilisateur pour utiliser ces ports dans la plupart des cas.
49152-65535 : Ces ports sont 'Dynamique' et a appelé le 'Privé' ports. Ils ne peuvent pas être enregistrés auprès IANA. Ces types de ports sont ouverts à l'utilisation pour des services personnalisés et privés et peuvent également être attribués en tant que ports éphémères (appelés de courte durée ports appliqués par IP) automatiquement.
Il existe de nombreuses façons de vérifier les ports ouverts sous Linux. Par défaut, un port se fermera sauf si une application l'applique. Un port doit être attribué à un processus ou un service s'il est ouvert.
Liste des ports ouverts
Il est plus facile de savoir quel port est utilisé plutôt que quel port est ouvert. Par conséquent, la section ci-dessous fournira des méthodes pour répertorier chaque port actuellement utilisé.
Il existe plusieurs outils présents pour cette tâche sous Linux. La plupart d'entre eux sont disponibles intégré dans une distribution Linux.
Savoir quel port est actuellement ouvert peut être utile dans de nombreux scénarios. Il est possible de déterminer un port dédié pour une application assurée. Un port ouvert peut être une forte indication d’intrusion au sein du réseau.
Les méthodes sont utilisées sur Ubuntu 20.04 LTS qui sont mentionnés ci-dessous.
Répertorier les ports et protocoles ouverts à l'aide du fichier /etc/services
Le fichier, c'est-à-dire /etc/services contient des détails sur les services en cours d'exécution (actuellement). C'est un gros fichier.
$cat /etc/services | less
Liste des ports ouverts avec netstat
Le netstat L'outil peut être décrit comme un utilitaire permettant d'afficher les connexions réseau pour les tables de routage, TCP et plusieurs interfaces réseau. En outre, il facilite les statistiques du protocole réseau. Nous pourrions répertorier tous les ports ouverts d'un système en utilisant l'outil netstat.
Nous pouvons exécuter la commande ci-dessous :
$ netstat -atu
Expliquons rapidement la répartition de chaque indicateur que nous avons utilisé dans la commande ci-dessus :
1. une : Cet indicateur indique à netstat l'affichage de chaque socket.
2.t : Cet indicateur indique à netstat la liste des ports TCP.
3. dans : Cet indicateur indique à netstat la liste des ports UDP.
Le netstat La commande a une autre variante mentionnée ci-dessous :
$ netstat -lntu
Deux drapeaux sont nouveaux dans la commande ci-dessus qui s'explique comme suit :
1.l : Cet indicateur indique à netstat d'imprimer uniquement les sockets d'écoute.
2.n : Cet indicateur indique à netstat d'afficher le numéro de port.
Nous pouvons utiliser un drapeau, c'est-à-dire '-p' pour afficher le PID du processus qui utilise n'importe quel port.
$ netstat -lntup
Vérifiez les ports ouverts localement
La commande netstat est disponible sur chaque système d'exploitation informatique pour surveiller les connexions réseau. La commande ci-dessous applique netstat pour afficher chaque port d'écoute avec le protocole TCP :
netstat -lt
Définissons brièvement les drapeaux présents dans la commande ci-dessus :
1. -l : Il répertorie les ports d'écoute.
2. -t : Il spécifie le protocole TCP.
Le résultat est bien classé dans des colonnes affichant le protocole, le respect de l'humain, les paquets envoyés et reçus, l'état du port, les adresses IP distantes et locales.
Si nous modifions le protocole TCP pour le protocole UDP, la sortie affichera uniquement les ports ouverts. Le résultat s'affichera sans décrire l'état en raison d'une contradiction avec le protocole TCP.
netstat -lu
Nous pouvons ignorer la description des protocoles et appliquer uniquement l'option --listen ou -l pour obtenir des détails sur chaque port écoutant librement le protocole :
netstat --listen
L'option ci-dessus affichera les détails des protocoles de socket Unix, UDP et TCP.
Chaque exemple ci-dessus montre comment imprimer les détails sur les ports d'écoute sans connexions autorisées. Les commandes ci-dessous montrent comment afficher les ports d'écoute et les connexions autorisées.
netstat -vatn
Où:
1. -dans : Il est utilisé pour la verbosité.
2. -a : Il affiche les connexions actives.
3. -t : Il affiche les connexions TCP.
4. -n : Il affiche les ports (valeur numérique).
Java trier une liste
Disons que nous reconnaissons un processus suspect dans notre système et que nous souhaitons vérifier les ports qui y sont associés. Nous pouvons utiliser la commande lsof qui est utilisée pour lister les fichiers ouverts liés aux processus.
lsof -i 4 -a -p
Où,
1. -je : Il répertorie les fichiers collaborant avec Internet, les 6 l'option est présente pour IPv6, et le 4 l'option indique l'impression uniquement IPv4.
2. -a : Il indique que le résultat est Vous avez donné.
3.-p : Il spécifie le numéro PID du processus que nous souhaitons vérifier.
Liste des ports ouverts avec ss
Le ss L'outil peut être spécifié comme utilitaire pour enquêter sur le socket. L'utilisation de cet outil est la même que celle netstat commande.
Nous pouvons exécuter la commande ci-dessous pour lister les ports ouverts :
$ ss -lntu
Les drapeaux ci-dessus sont les mêmes que ceux netstat commande. Les fonctions décrites par l'outil ss sont également assez identiques.
1.l : Cet indicateur informe ss de l'affichage des sockets d'écoute.
2.n : Cet indicateur informe ss de ne pas tenter de conclure les noms de services.
3.t : Cet indicateur informe ss pour l'affichage des sockets TCP.
4. dans : Cet indicateur indique à ss l'affichage des sockets UDP.
Lister les ports ouverts avec lsof
La commande lsof peut être utilisée pour lister les fichiers ouverts. Mais il peut également être utilisé pour afficher les ports ouverts.
Nous pouvons exécuter la commande suivante :
$ lsof -i
Pour obtenir les ports ouverts d'un protocole particulier (UDP, TCP, etc.), spécifiez-le après avoir utilisé le '-je' flag, nous pouvons exécuter la commande suivante :
$ lsof -i
Lister les ports ouverts avec nmap
La commande nmap peut être définie comme une commande puissante pour l'analyse des ports/sécurité et l'exploration du réseau. Il peut également signaler chaque port ouvert au sein du système.
Nous pouvons exécuter la commande suivante pour lister les ports TCP ouverts.
$ sudo nmap -sT -p- localhost
Il y a deux sections de cette commande mentionnées ci-dessus :
1. -st : Il informe l'outil nmap pour la numérisation TCP ports.
2. -p- : Il informe l'outil nmap pour analyser chaque 65535 ports. L'outil nmap analysera 1000 ports uniquement par défaut s’ils ne sont pas utilisés.
Si nous avons besoin de lister les ports ouverts d'UDP, nous pouvons alors exécuter la commande suivante :
$ sudo nmap -sU -p- localhost
Nous pouvons également exécuter la commande suivante pour obtenir les ports UDP et TCP :
$ sudo nmap -n -PN -sT -sU -p- localhost
Liste des ports ouverts avec netcat
L'outil netcat peut être décrit comme un utilitaire de ligne de commande permettant de lire et d'écrire des données sur de nombreuses connexions réseau sur les protocoles UDP et TCP. En outre, il peut être utilisé pour répertorier les ports ouverts. Cet outil peut implémenter des tests sur un port particulier ou sur une variété de ports.
La commande netcat ci-dessous est utilisée pour analyser le port depuis 1-1000. Par défaut, il implémentera le protocole scan over TCP :
$ nc -z -v localhost 1-1000
Aussi, il peut être étendu à toute la liste de certains ports :
$ nc -z -v localhost 1-65535
Faisons rapidement une ventilation de ces drapeaux.
1. de : Il informe la commande netcat d'analyser uniquement les ports ouverts, sans transférer de données.
2. dans : Il informe la commande netcat pour une exécution en mode détaillé.
char tostring java
Nous pouvons filtrer le résultat à l'aide de grep pour un terme 'réussi' pour obtenir uniquement les ports ouverts via cette liste.
$ nc -z -v 127.0.0.1 20-80 | grep succeeded
Si nous souhaitons implémenter le protocole scan over UDP, le. Nous pouvons inclure le '-dans' drapeau.
$ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded