Ich vermute, dass ein Programm den Port 8000
meines Computers abhört.
Wenn ich den folgenden Befehl ausführe, wird dieser Fehler angezeigt:
> python -m SimpleHTTPServer
# Lots of python error
socket.error: [Errno 98] Address already in use
Wenn ich einen anderen Port verwende ( 8000
Standardeinstellung), funktioniert der Webserver einwandfrei.
Wenn ich wget localhost:8000
von der Kommandozeile aus starte, kehrt es zurück 404 Not Found
.
Was kann ich tun (oder welche Tools sind verfügbar), um herauszufinden, welches Programm auf dem Port empfangsbereit 8000
ist und von wo aus dieses Programm konfiguriert wurde?
quelle
-s TCP:LISTEN
schränkt das Ergebnis auf die tatsächliche Hörbuchse und deren Prozess ein.PID 1889
? watMit netstat können Sie feststellen, welcher Prozess welchen Port überwacht.
Mit diesem Befehl können Sie alle Details anzeigen:
Wenn Sie genau wissen müssen, welcher Port 8000 abhört, können Sie dies verwenden:
Es gibt keinen Prozess, der sich vor netstat verstecken kann.
quelle
netstat -peanut
ist leichter zu merken alsnetstat -taupen
!Um die Antwort von @ 33833 zu erläutern, können Sie einige sehr detaillierte Informationen erhalten, zum Beispiel:
Ich kann genau dort sehen, dass Tintenfisch der Prozess ist, aber es ist tatsächlich mein
squid-deb-proxy
, der den Hafen einnimmt .Ein weiteres gutes Beispiel für eine Java-App:
Sie können in
lsof
(LiSt Open Files) sehen, dass es sich um Java handelt, was weniger als hilfreich ist.ps
Wenn wir den Befehl mit der PID ausführen, können wir sofort erkennen, dass es sich um CrashPlan handelt.quelle
lsof -t -i :8000 | xargs ps -fp
sudo
aber danach funktionierte es für mich. Vielen Dank.sudo
Sie keinen Fehler erhalten, erhalten Sie einfach nichts als Antwort.Probieren Sie
ss
aus demiproute2
Paket:quelle
ss
hat auch seine eigenen Filterfunktionen:ss -nlp '( sport = :8000 )'
.Eine andere Möglichkeit,
socklist
fromprocinfo
package zu verwenden:man socklist
sudo socklist
quelle
Sie können nmap verwenden.
Um es zu installieren, drücken Sie einfach Ctrl+ Alt+ Tauf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen den folgenden Befehl aus:
Weitere Informationen zu nmap und anderen Dienstprogrammen finden Sie hier
1 Quelle: garron.me
quelle
[nmap] tries to guess which service is listening on each port, but it can make mistakes
bevor sie eine tatsächliche Methode vorschlägt, um herauszufinden, welchem Prozess der Socket gehört.