Nmap est un utilitaire bien connu qui est fourni avec de nombreuses distributions Linux et qui est également disponible pour Windows et plusieurs autres plates-formes. Essentiellement un outil d'analyse et de cartographie, Nmap peut faire beaucoup pour vous.
Aujourd'hui, nous envisageons d'utiliser Nmap pour l'analyse des ports qui, soit dit en passant, est l'utilisation principale de l'outil . L'analyse des ports est une tâche essentielle de la gestion du réseau car elle garantit qu'aucune porte dérobée n'est laissée sans adresse. C'est l'une des formes les plus élémentaires de sécurisation du réseau.
Avant d'entrer dans la partie pratique de cet article, nous allons nous éloigner un peu et présenter d'abord Nmap et son cousin graphique Zenmap. Nous expliquerons ensuite quels sont les ports et comment vous devez faire attention à ne pas laisser les ports inutilisés ouverts sur vos appareils. Ensuite, nous aborderons l'essence de cet article et vous montrerons comment utiliser Nmap pour l'analyse des ports. Et comme il existe de nombreux autres outils qui peuvent être des alternatives viables à Nmap pour l'analyse des ports - certains d'entre eux sont des outils bien meilleurs ou plus faciles à utiliser - nous passerons enfin en revue certaines des meilleures alternatives Nmap pour l'analyse des ports.
À propos de Nmap
Nmap signifie Network Mapper. C'est un outil d'analyse qui peut être utilisé pour découvrir des hôtes et des services, créant ainsi une « carte » du réseau, d'où son nom. L'outil fonctionne en envoyant des paquets spécialement conçus aux hôtes cibles, un peu comme un ping mais pas nécessairement en utilisant ICMP, et en analysant les réponses qu'il obtient.
L'utilisation principale de Nmap est d'analyser les services disponibles sur un ordinateur. Il peut également être utilisé comme scanner d'adresses IP. Cet outil peut découvrir les hôtes et leurs services et il peut également détecter leur système d'exploitation et plus encore. À l'aide de scripts, l'outil peut même être utilisé pour une détection de service avancée, une détection de vulnérabilité, etc. Dans l'ensemble, il s'agit d'un outil polyvalent qui peut être utilisé à bon escient dans de nombreuses situations.
Nmap, qui est un outil de ligne de commande gratuit et open source, a commencé comme un utilitaire Linux uniquement, mais il a depuis été porté sur de nombreux autres systèmes d'exploitation, notamment Windows, Solaris, HP-UX, la plupart des variantes de BSD, notamment OS X, AmigaOS, et IRIX.
Le beau cousin de Nmap : Zenmap
Si vous préférez travailler avec des interfaces utilisateur graphiques, Zenmap est une interface graphique open source pour Nmap. Son interface utilisateur n'est peut-être pas la plus sophistiquée, mais elle fait bien son travail. L'outil provient des mêmes développeurs que Nmap, vous pouvez donc vous attendre à ce que l'intégration soit bonne. Vous pouvez l'utiliser pour analyser tous les ports de tous les ordinateurs connectés à votre réseau. Il effectuera ensuite des tests de suivi sur les ports ouverts qu'il aura découverts. Vous pouvez également effectuer une analyse complète, analyser tous les ports TCP ou analyser tous les ports UDP. Il existe également une analyse intense qui utilise une méthodologie furtive dans laquelle les tests ne seront pas enregistrés par les appareils testés en tant que connexion. Ceux-ci peuvent cependant prendre beaucoup de temps. Attendez-vous à ce que cela prenne plus de 90 minutes pour un appareil.
Qu'est-ce qu'un port de toute façon?
En une phrase, les ports sont les passerelles réseau vers l'équipement. Expliquons-nous. Les ordinateurs peuvent faire beaucoup de choses différentes à la fois. Et plusieurs de ces éléments peuvent nécessiter un accès au réseau. Mais généralement, les ordinateurs n'ont qu'une seule interface réseau physique. Les ports ont été inventés pour permettre à différents processus de partager une interface réseau commune.
Par exemple, pensez à un serveur qui exécute à la fois un serveur Web et un serveur FTP, une combinaison très courante. Lorsqu'une requête arrive, comment le système d'exploitation sait-il s'il doit l'envoyer aux serveurs Web ou FTP ? Utilisation des ports. Une demande de serveur Web utilisera le port 80 tandis qu'une demande de serveur FTP utilisera le port 22.
Les ports ne sont pas une chose physique, ce ne sont que des nombres de 0 à 65535 qui sont ajoutés à l'en-tête des paquets de données transmis sur un réseau. Et ils ne sont pas non plus aléatoires. Eh bien, en fait, ils le sont parfois. Plus d'informations sur le sien plus tard.
Une chose qui est importante pour que tout cela fonctionne, c'est que tout le monde s'accorde sur quel port utiliser pour quoi. Par exemple, le serveur Web mentionné précédemment s'attend à ce que les demandes utilisent le port 80. Votre navigateur Web doit alors utiliser le port 80 pour envoyer la demande au serveur Web.
Ports bien connus
La nécessité de se mettre d'accord sur le port a été résolue dès le début en standardisant les ports. L'Internet Assigned Numbers Authority (IANA, la même organisation qui attribue également les adresses IP) est responsable du maintien des attributions officielles des numéros de port pour des utilisations spécifiques.
Sous le contrôle de l'IANA, les 1024 premiers ports ont été officiellement affectés à différents services. En fait, ce n'est pas tout à fait vrai. Certaines affectations de ports ne sont pas officiellement sanctionnées par l'IANA. Ils étaient disponibles et certaines organisations ont commencé à les utiliser à leurs fins – souvent avant que l'IANA ne commence à contrôler leur affectation – et, à cause de leur utilisation, leur utilisation est restée bloquée.
Aujourd'hui, beaucoup d'entre nous connaissent plusieurs de ces ports. Il y a le port 80 pour le Web et 21 pour FTP, comme mentionné précédemment. Nous connaissons également le port 22 pour SSH ou 53 pour DNS. Les 1024 premiers ports n'ont pas tous été attribués et certains sont encore disponibles mais leur nombre diminue.
Autres ports
Les ports connus représentent les 1024 premiers, alors qu'en est-il des 64512 autres ? Eh bien, les ports 1024 à 49151 sont ce que nous appelons des ports enregistrés. Ceux-ci sont également contrôlés et attribués par l'IANA. Toute organisation peut les demander pour leur objectif spécifique. C'est ainsi que, par exemple, le port 1433 est devenu le port du serveur Microsoft SQL ou le port 47001 est devenu le port du service de gestion à distance Windows. Mais Internet étant ce qu'il est, plusieurs ports de cette plage sont utilisés à des fins spécifiques sans avoir été enregistrés auprès de l'IANA.
Quant aux ports allant de 49152 à 65535, ils sont appelés ports éphémères. Ils sont temporairement utilisés par les applications pour différencier les flux. Pensez à un serveur Web. Plusieurs clients peuvent s'y connecter en même temps. S'ils utilisaient tous le port 80, il pourrait être difficile pour le serveur de s'assurer qu'il envoie les réponses au bon demandeur. Ainsi, la connexion initiale se fait sur le port 80 après quoi le serveur et le client « se mettent d'accord » sur un numéro de port éphémère qui sera utilisé pour la suite de leur échange.
Un conseil : gardez les ports inutilisés fermés
Sur un ordinateur, l'état des ports peut être ouvert, fermé ou furtif. Un port ouvert signifie que l'ordinateur « écoute » activement les demandes de connexion sur ce port. C'est un port actif. Un port fermé, comme son nom l'indique, n'acceptera pas les connexions entrantes. Au lieu de cela, il répondra à toute demande de fermeture du port. Les ports furtifs sont quelque peu différents. un appareil essayant de se connecter à ces ports n'obtiendra même pas de réponse.
Tout port ouvert est une porte ouverte vers l'ordinateur. Et les utilisateurs malveillants tenteront certainement d'exploiter ces portes ouvertes pour accéder à l'ordinateur. Par exemple, disons que vous avez ouvert le port FTP 21 alors que vous n'utilisez pas vraiment FTP. Un pirate informatique pourrait alors utiliser ce port ouvert pour exploiter une vulnérabilité du logiciel FTP exécuté sur l'ordinateur afin d'injecter un logiciel malveillant.
Et si vous n'utilisez même pas FTP, il est probable que vous n'ayez pas mis à jour le serveur FTP et qu'il pourrait très bien contenir des vulnérabilités exploitables. C'est pourquoi il est si important de s'assurer que les ports inutilisés sont soit fermés, soit furtifs.
Protégez également les ports que vous utilisez
En ce qui concerne le poste que vous utilisez réellement, ce sont toujours des portes ouvertes et pourraient être utilisés pour des activités malveillantes. C'est pourquoi vous devez protéger les ports ouverts. Cela peut être fait de plusieurs manières, la plus élémentaire étant de maintenir à jour votre système d'exploitation et vos autres logiciels. La plupart des éditeurs de logiciels publient des correctifs fréquents pour corriger les vulnérabilités découvertes. Une autre façon de vous protéger est d'utiliser des pare-feu et des systèmes de détection et/ou de prévention des intrusions.
Utiliser Nmap pour l'analyse des ports
L'utilisation de Nmap pour l'analyse des ports est très simple. Si vous vous attendiez à un tutoriel détaillé, vous allez avoir une agréable surprise. Ce n'est tout simplement pas nécessaire. L'analyse des ports est la fonction principale de Nmap et, en termes simples, la recherche des ports consiste simplement à saisir la commande suivie de l'adresse IP ou du nom d'hôte du périphérique que vous souhaitez analyser.
# nmap scanme.nmap.org Démarrage de nmap ( https://nmap.org ) rapport d'analyse nmap pour scanme.nmap.org (64.13.134.52) Non affiché : 994 ports filtrés SERVICE D'ÉTAT DE PORT 22/tcp ouvert ssh 25/tcp fermé smtp 53/tcp domaine ouvert 70/tcp fermé gopher 80/tcp ouvert http 113/tcp fermé auth nmap fait : 1 adresse IP (1 hôte en place) analysée en 4,99 secondes
Assez simple, non? Peut-être avez-vous besoin de quelque chose d'un peu plus élaboré, cependant. Exécutons à nouveau la commande mais, cette fois, nous allons ajouter quelques options. -p0- spécifie d'analyser tous les ports TCP possibles, -v spécifie d'être détaillé à ce sujet, -A permet des tests agressifs tels que la détection de système d'exploitation à distance, la détection de service/version et le moteur de script Nmap (NSE), et -T4 active un politique de synchronisation plus agressive pour accélérer l'analyse. Voici le résultat.
# nmap -p0- -v -A -T4 scanme.nmap.org Démarrage de nmap ( https://nmap.org ) Scan Ping terminé à 00:03, 0,01 s écoulé (1 hôte au total) Scanme.nmap.org ( 64.13.134.52) [65536 ports] Découverte du port ouvert 22/tcp sur 64.13.134.52 Découverte du port ouvert 53/tcp sur 64.13.134.52 Découverte du port ouvert 80/tcp sur 64.13.134.52 SYN Stealth Scan Timing : environ 6,20 % terminé ; ETC : 00:11 (0:07:33 restant) Scan furtif SYN terminé à 00:10, 463,55 s écoulées (65536 ports au total) Scan de service terminé à 00:10, 6,03 s écoulés (3 services sur 1 hôte) Lancement du système d'exploitation détection (essayez #1) contre scanme.nmap.org (64.13.134.52) Lancement de Traceroute à 00:10 64.13.134.52 : estimation de la distance de saut à 9 Terminé SCRIPT ENGINE à 00:10, 4,04 s écoulées Host scanme.nmap.org ( 64.13.134.52) semble être en hausse ... bien. Rapport d'analyse Nmap pour scanme.nmap.org (64.13.134.52) Non affiché : 65530 ports filtrés PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 4.3 (protocole 2.0) 25/tcp fermé smtp 53/tcp domaine ouvert ISC BIND 9.3.4 70/tcp fermé gopher 80/tcp ouvert http Apache httpd 2.2.2 (( Fedora)) |_Titre HTML : Allez-y et ScanMe ! 113/tcp closed auth Type d'appareil : à usage général Exécution : Linux 2.6.X Détails du système d'exploitation : Linux 2.6.20-1 (Fedora Core 5) Temps de disponibilité estimé : 2,457 jours (depuis le jeu. 18 septembre 13:13:24 2008) Prévision de séquence TCP : Difficulté=204 (Bonne chance !) Génération de séquence d'ID IP : Tous les zéros TRACEROUTE (utilisant le port 80/tcp) HOP RTT ADDRESS [Les huit premiers sauts coupés pour la brièveté] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap fait : 1 adresse IP (1 hôte en place) scannée en 477.23 secondes Paquets bruts envoyés : 131432 (5.783MB) | Rcvd : 359 (14,964 Ko) 0) 25/tcp fermé smtp 53/tcp domaine ouvert ISC BIND 9.3.4 70/tcp fermé gopher 80/tcp ouvert http Apache httpd 2.2.2 ((Fedora)) |_Titre HTML : Allez-y et ScanMe ! 113/tcp closed auth Type d'appareil : à usage général Exécution : Linux 2.6.X Détails du système d'exploitation : Linux 2.6.20-1 (Fedora Core 5) Temps de disponibilité estimé : 2,457 jours (depuis le jeu. 18 septembre 13:13:24 2008) Prévision de séquence TCP : Difficulté=204 (Bonne chance !) Génération de séquence d'ID IP : Tous les zéros TRACEROUTE (utilisant le port 80/tcp) ADRESSE HOP RTT [Les huit premiers sauts coupés pour la brièveté] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap fait : 1 adresse IP (1 hôte en place) scannée en 477.23 secondes Paquets bruts envoyés : 131432 (5.783MB) | Rcvd : 359 (14,964 Ko) 0) 25/tcp fermé smtp 53/tcp domaine ouvert ISC BIND 9.3.4 70/tcp fermé gopher 80/tcp ouvert http Apache httpd 2.2.2 ((Fedora)) |_Titre HTML : Allez-y et ScanMe ! 113/tcp closed auth Type d'appareil : à usage général Exécution : Linux 2.6.X Détails du système d'exploitation : Linux 2.6.20-1 (Fedora Core 5) Temps de disponibilité estimé : 2,457 jours (depuis le jeu. 18 septembre 13:13:24 2008) Prévision de séquence TCP : Difficulté=204 (Bonne chance !) Génération de séquence d'ID IP : Tous les zéros TRACEROUTE (utilisant le port 80/tcp) HOP RTT ADDRESS [Les huit premiers sauts coupés pour la brièveté] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap fait : 1 adresse IP (1 hôte en place) scannée en 477.23 secondes Paquets bruts envoyés : 131432 (5.783MB) | Rcvd : 359 (14,964 Ko) usage général Exécution : Linux 2.6.X Détails du système d'exploitation : Linux 2.6.20-1 (Fedora Core 5) Temps de disponibilité estimé : 2,457 jours (depuis le jeu. 18 septembre 13:13:24 2008) Prédiction de séquence TCP : Difficulté = 204 (Bonne chance ! ) Génération de séquence d'ID IP : tous les zéros TRACEROUTE (en utilisant le port 80/tcp) HOP RTT ADDRESS [Les huit premiers sauts coupés pour la brièveté] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13 .134.52) Nmap fait : 1 adresse IP (1 hôte en place) analysée en 477.23 secondes Paquets bruts envoyés : 131432 (5.783MB) | Rcvd : 359 (14,964 Ko) usage général Exécution : Linux 2.6.X Détails du système d'exploitation : Linux 2.6.20-1 (Fedora Core 5) Temps de disponibilité estimé : 2,457 jours (depuis le jeu. 18 septembre 13:13:24 2008) Prédiction de séquence TCP : Difficulté = 204 (Bonne chance ! ) Génération de séquence d'ID IP : tous les zéros TRACEROUTE (en utilisant le port 80/tcp) HOP RTT ADDRESS [Les huit premiers sauts coupés pour la brièveté] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13 .134.52) Nmap fait : 1 adresse IP (1 hôte en place) analysée en 477.23 secondes Paquets bruts envoyés : 131432 (5.783MB) | Rcvd : 359 (14,964 Ko) 168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap fait : 1 adresse IP (1 hôte en place) analysée en 477.23 secondes Paquets bruts envoyés : 131432 (5.783MB) | Rcvd : 359 (14,964 Ko) 168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap fait : 1 adresse IP (1 hôte en place) analysée en 477.23 secondes Paquets bruts envoyés : 131432 (5.783MB) | Rcvd : 359 (14,964 Ko)
Quelques alternatives Nmap pour l'analyse des ports
Aussi bon et aussi simple que Nmap l'est en tant qu'outil d'analyse de port. Peut-être voudrez-vous envisager d'autres options. Il existe de nombreux produits capables de scanner les ports. Passons en revue quelques-uns des meilleurs outils que nous avons pu trouver. Beaucoup sont gratuits ou offrent un essai gratuit, alors n'hésitez pas à essayer l'un d'entre eux et voyez comment cela correspond à vos besoins.
1. Scanner de port gratuit SolarWinds (TÉLÉCHARGEMENT GRATUIT)
SolarWinds est l'un des acteurs majeurs dans le domaine des outils réseaux. Il est également connu pour avoir publié de nombreux outils gratuits très utiles. Le scanner de port gratuit de SolarWinds est l'un d'entre eux. Le logiciel n'est disponible que pour Windows et s'exécutera via une interface graphique ou en tant qu'outil de ligne de commande.
Par défaut, SolarWinds Free Port Scanner analysera votre réseau pour détecter toutes les adresses IP. Vous choisissez ensuite d'analyser tous les appareils ou de modifier le paramètre de plage d'analyse d'un sous-ensemble de vos appareils. Vous pouvez également spécifier les ports à tester. Par défaut, il ne testera que les ports bien connus, mais vous pouvez l'ignorer en précisant votre propre plage ou liste de numéros de port. Des paramètres plus avancés vous permettront d'analyser uniquement les ports TCP ou UDP, d'effectuer une vérification ping, une résolution DNS ou un test d'identification du système d'exploitation.
En conséquence, le logiciel renverra une liste de l'état de tous les appareils testés. Vous pouvez imaginer que cela pourrait être une longue liste. Heureusement, le système vous permettra d'appliquer des filtres et, par exemple, de ne lister que les appareils avec des ports ouverts. Cliquer sur un périphérique révèle le panneau de détail du port. Encore une fois, il répertoriera tous les ports de la plage d'analyse et encore une fois, vous pouvez appliquer un filtre et afficher uniquement les ports ouverts.
2. Scanner de ports PortChecker
Le PortChecker Port Scanner est un scanner basé sur le Web. C'est un excellent outil même si tous les ports ne sont pas vérifiés. Le service testera 36 des ports les plus importants et les plus vulnérables pour l'accessibilité depuis Internet. Il testera également si un service est en cours d'exécution sur chaque port ouvert. Il existe également une option pour exécuter une analyse plus courte qui ne testera que 13 ports.
Les ports testés incluent les données et le contrôle FTP, TFTP, SFTP, SNMP, DHCP, DNS, HTTPS, HTTP, SMTP, POP3, POP3 SSL, IMAP SSL, SSH et Telnet, pour ne citer que les principaux. Les résultats de l'analyse sont affichés sous forme de tableau sur la page Web. Si vous avez besoin d'un test rapide et sale des ports les plus courants, le scanner de ports gratuit PortChecker pourrait être l'outil idéal pour vous.
3. Scanner de port ouvert WebToolHub
Le scanner ouvert Port de WebToolHub est un autre port gratuit en ligne checker. Le système exige que vous entriez une adresse IP et une liste de ports à vérifier. Vous ne pouvez entrer que 10 numéros de port à la fois, vous devrez donc l'exécuter plusieurs fois pour en tester davantage. Cependant, vous n'avez pas besoin d'entrer des numéros de port individuels. Le système prendra en charge une plage, telle que 21-29, tant qu'elle ne dépasse pas 10. Il semble que ce soit un meilleur outil pour une vérification rapide de ports spécifiques qu'un outil complet d'évaluation de la vulnérabilité.
Une fois l'analyse terminée, ce qui est assez rapide, les résultats sont affichés sous forme de tableau avec l'état de chaque port ainsi que le service enregistré avec ce port. Le tableau des résultats peut être exporté dans un fichier CSV. Et pendant que vous êtes sur le site WebToolHub, vous voudrez peut-être jeter un œil à certains des autres outils gratuits tels qu'un vérificateur d'emplacement IP, un vérificateur de backlinks, une fonction de recherche WHOIS et un test Ping.
4. Vérificateur de port réseau d'empreintes digitales IP
IP Fingerprints est un autre site où vous trouverez un certain nombre d'outils gratuits et utiles, parmi lesquels le Network Port Checker . Pour l'utiliser, il vous suffit de saisir une adresse IP et une plage de ports à vérifier. Bien que le nombre de ports analysés ne soit pas limité, vous êtes averti qu'un nombre de ports supérieur à 500 peut prendre un certain temps à analyser et qu'une large plage démarrera une analyse qui peut ne jamais se terminer.
Cet outil prétend pouvoir contourner les pare-feu. Cela se fait en utilisant des requêtes SYN. Une vraie connexion n'est donc jamais ouverte et de nombreux firewalls laisseront passer la requête SYN. Qu'il passe ou non par le pare-feu n'est pas totalement pertinent. C'est toujours un très bon test, quoi qu'il en soit, car c'est une méthode couramment utilisée par les pirates.
5. Scanner de port gratuit
Le Free Port Scanner est un logiciel gratuit Windows qui peut être téléchargé à partir du site Web Major Geeks . Vous pouvez utiliser cet outil pour analyser des plages de ports. Le nombre de ports analysés n'est pas limité, vous pouvez donc décider d'analyser tous les ports si vous avez du temps à perdre.
Par défaut, l'outil voudra analyser votre propre adresse IP pour les ports ouverts à partir de sa propre liste de ports par défaut. Comme vous vous en doutez, la durée de l'analyse est proportionnelle au nombre de ports analysés. Et il est plus lent lors du test des ports sur un autre appareil. Par exemple, le test de tous les ports de votre routeur peut très bien prendre toute la journée. Les résultats peuvent afficher des ports ouverts ou fermés ou les deux. L'outil n'a pas de documentation et la méthode de test utilisée n'est pas claire. De plus, il semble qu'il ne teste que les ports TCP, pas UDP.
6. Vérificateur de port
Port Checker ne doit pas être confondu avec le PortChecker Port Scanner examiné ci-dessus. C'est un outil Windows qu'il est préférable de télécharger depuis Softpedia . Le logiciel n'a pas d'installateur. vous téléchargez simplement son fichier zip, extrayez le fichier exécutable et exécutez-le. L'exécutable est petit et ne nécessite pas d'installation, ce qui signifie que vous pouvez l'exécuter à partir d'une clé USB.
L'interface utilisateur de l'outil est simple et assez facile à utiliser. Vous entrez simplement une adresse IP et sélectionnez un numéro de port dans une liste déroulante. Les deux principales limitations de cet outil sont que vous ne pouvez analyser aucun port, uniquement ceux de la liste et qu'il n'analysera qu'un seul port par exécution. Malgré ses limites, Port Checker est un excellent outil lorsque vous avez juste besoin de vérifier si un port spécifique est ouvert ou non.