IIS kann nicht gestartet werden - wie finde ich, was auf Port 80 ausgeführt wird?

7

Dies ist auf einem Windows Vista-Computer mit IIS 7. Der Versuch, die Standardwebsite zu starten, lautet jedoch: "Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.

Wenn ich die Bindung an Port 82 ändere, funktioniert es einwandfrei. Ich denke, auf 80 läuft etwas. Wie finde ich, was es ist?

Epitka
quelle
Wenn Sie immer noch Probleme haben ... Auf der MS-Support-Seite ist eine zweite mögliche Ursache aufgeführt: "Der Registrierungsunterschlüssel ListenOnlyList ist auf dem Computer, auf dem IIS ausgeführt wird, nicht richtig konfiguriert." Details hier: support.microsoft.com/kb / 890015
Neustart und Problem ging weg :)

Antworten:

10
netstat -ab | find ":80 "

Beachten Sie das Leerzeichen nach 80. Für / b ist eine Eingabeaufforderung mit erhöhten Rechten erforderlich.

BEARBEITEN: Nach eingehender Prüfung zeigt das Weiterleiten von netstat -ab an find mit dieser Suchzeichenfolge nicht die ausführbare Datei an, die der Schalter -b abruft. Dies liegt daran, dass -b den Besitzprozess in einer neuen Zeile anzeigt. = (Ich versage. Aber zumindest die erste Hälfte des Befehls wird funktionieren. Ich musste mich nur mit dem Befehl find auseinandersetzen. =)

Wesley
quelle
1
In meinem Fall war es Skype, das es verwendete. Sehr eigenartig. Skype geschlossen und dann Website gestartet, Website lief gut. Dann begann auch Skype. Skype läuft auch gut.
user70410
Skype war auch in meinem Fall schuldig
RobertTheGrey
4

Das erste, was ich tun würde, ist einen Browser zu http: // localhost / zu öffnen und zu sehen, was kommt ... Dann würde ich natürlich netstat überprüfen.

Chris Nava
quelle
3

Ich weiß nicht unter Vista, aber unter XP könnten Sie:

netstat / a / b

auf der Konsole, um dies zu überprüfen.

Daniel
quelle
1

Starten Sie als Administrator eine Eingabeaufforderung, führen Sie den Befehl aus netstat -abund suchen Sie die entsprechende Zeile in der Ausgabe. Dies sollte Ihnen den ausführbaren Namen des Prozesses mitteilen, der diesen Port überwacht.

Sobald Sie das haben, haben Sie wahrscheinlich eine Vorstellung davon, wonach Sie suchen müssen. Wenn Sie sich jedoch nicht sicher sind, um welche ausführbare Datei es sich handelt, können Sie den Task-Manager starten, zur Registerkarte Prozesse wechseln und den Prozess in suchen Frage, und klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften, um weitere Informationen zu erhalten. Wenn mehrere Prozesse mit diesem Namen vorhanden sind, führen Sie netstat -ao aus, um die Prozess-ID abzurufen.


quelle
Dies war der schnellste Weg für mich, also habe ich ihn akzeptiert. An Port 80 kann ich jedoch nichts sehen. Hmmm.
1

Sie können NETSTAT -ADO verwenden, um verwendete Ports anzuzeigen. Leider erhalten Sie dadurch nicht den Namen der Anwendung, die einen bestimmten Port geöffnet hat. Sie erhalten die Prozess-ID, mit der Sie das jeweilige Programm im Task-Manager auf Null setzen können.

Alternativ können Sie das Tcpvcon- Programm von SysInternals herunterladen . Während der Ausführung wird eine vollständige Liste der geöffneten Ports sowie der Programme angezeigt, mit denen sie geöffnet wurden.

David Andres
quelle
1
Ich weiß nicht, was -d Ihrer Meinung nach tun könnte, aber -o ist nützlicher als -b, da es die PID in derselben Zeile anzeigt und keine Erhöhung erfordert.
Neil
0

Sysinternals - wie in Daves Beitrag erwähnt (Entschuldigung für die falschen Informationen in meinem ersten Beitrag)

oder

http://www.howtonetworking.com/command/openport1.htm

Beschreibt, wie dies über die Befehlszeile erfolgt.


quelle
Portmon überwacht und zeigt alle Aktivitäten der seriellen und parallelen Schnittstelle eines Systems an, nicht der Netzwerkanschlüsse.
Das Tool, mit dem Sie verknüpfen, ist für eine ganz andere Art von Ports vorgesehen. Möglicherweise haben Sie an TCPView ( technet.microsoft.com/en-us/sysinternals/bb897437.aspx ) gedacht , das größtenteils netstat in einer GUI ist.
Das liegt daran, dass ich heute ein kompletter Idiot bin. Ich erinnerte mich, dass es aus der Sysinternals-Suite stammte, und nahm den ersten von der Suche. Guter Fang - und Entschuldigung für die Dummheit.
0

Die anderen Antworten zeigen Ihnen, was Port 80 geöffnet hat. Dies kann jedoch System sein, wenn Port 80 von einer anderen Anwendung mit HTTP.SYS(wie IIS 1 ) geöffnet wurde .

Um zu sehen, was HTTP.SYS zum Abhören verwendet, können Sie Folgendes verwenden (an einer Eingabeaufforderung mit erhöhten Rechten):

netsh http show servicestate

(Dies gibt viele Informationen.)

Funktioniert HttpCfg.exemöglicherweise auch (ab Windows XP SP2 Resource Kit).


1 Selbst wenn IIS auf Port 80 ausgeführt wird, wird es auf Port 80 nicht als lauschend angezeigt.

Richard
quelle