Je soupçonne qu'un programme écoute sur le port 8000 sur ma machine.
Lorsque j'exécute la commande suivante, j'obtiens cette erreur:
> python -m SimpleHTTPServer# Lots of python errorsocket.error: [Errno 98] Address already in use
Si j'utilise un autre port (8000 est la valeur par défaut), le serveur Web fonctionne correctement.
Si je cours wget localhost:8000 à partir de la ligne de commande, il renvoie 404 Not Found.
Que puis-je faire (ou quels outils sont disponibles) pour trouver quel programme écoute sur le port 8000, et à partir de là où ce programme est configuré?
cette commande vous listera l'application utilisée par ce port avec PID.(Si aucun résultat ne s'exécute via sudo puisque vous n'avez peut-être pas l'autorisation d'accéder à certains processus.)
Par exemple, avec le port 8000 (python3 -m http.server):
$ lsof -i :8000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEpython3 3269 user 3u IPv4 1783216 0t0 TCP *:8000 (LISTEN)
Vous pouvez voir dans lsof (Liste des fichiers ouverts) qu'il s'agit de java, ce qui n'est pas très utile. Exécuter le ps commande avec le PID, nous pouvons voir tout de suite qu'il s'agit de CrashPlan.
DESCRIPTION socklist est un script Perl qui vous donne une liste de tous les sockets ouverts, en énumérant les types, le port, l'inode, l'uid, le pid, le fd et le programme auquel il appartient.
En raison du point bas de la communauté, je ne peux pas commenter ici. Sans sudo toutes les commandes ci-dessus ne vous fourniront pas l'Id de processus / le nom du programme.
Donc, vous avez besoin des éléments suivants:
sudo lsof -i :8000
ou
sudo netstat -lntup
vous pouvez vérifier ces détails de commande via man, help ou mon aide préférée
Il est vraiment important de savoir quels ports sont ouverts dans votre PC, ce n'est pas seulement utile pour Linux, mais aussi pour d'autres systèmes d'exploitation, Linux dispose de nombreux outils pour vérifier quels ports sont ouverts, le plus courant est nmap qui est un outil de ligne de commande, mais existe également une interface graphique pour cela si vous préférez.1
pour l'installer, appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir le Terminal. Lorsqu'il s'ouvre, exécutez la commande ci-dessous:
sudo apt-get install nmap
Pour plus d'informations sur nmap et d'autres utilitaires, rendez-vous sur Ici