it-swarm.com.de

Wie kann ich herausfinden, ob ein Port geöffnet ist oder nicht?

Ich habe den Apache-Server auf meinem Windows 7-Computer installiert. Ich konnte die Standard-index.php anzeigen, indem ich http: // localhost / in die Adresszeile meines Browsers eingab.

Ich kann diese Seite jedoch immer noch nicht sehen, indem ich die IP-Adresse meines Computers eingebe (weder lokal (vom selben Computer) noch global (von einem anderen mit dem Internet verbundenen Computer)).

Mir wurde gesagt, dass ich Port 80 öffnen muss. Ich habe es getan (auf eine beschriebene Weise hier ), aber es hat das Problem nicht gelöst.

Zunächst möchte ich überprüfen, welche Ports geöffnet sind und welche nicht. Zum Beispiel bin ich mir nicht sicher, ob mein Port 80 geschlossen war, bevor ich versuchte zu öffnen. Ich bin mir auch nicht sicher, ob es geöffnet ist, nachdem ich versucht habe, es zu öffnen.

Ich habe versucht, einen sehr einfachen, in Python geschriebenen Webserver auszuführen. Dafür habe ich Port 81 benutzt und es hat funktioniert! Und ich habe nicht versucht, den Port 81 zu öffnen. Daher wurde er standardmäßig geöffnet. Wenn also 81 standardmäßig geöffnet ist, warum nicht 80? Oder ist es?

ZUSÄTZLICHE INFORMATION:
1. In meiner httpd.conf-Datei habe ich "Listen 80".
2. Diese Seite teilt mir mit, dass Port 80 auf meinem Computer geöffnet ist.
3. Ich erhalte unterschiedliche Antworten, wenn ich http: // myip: 8 und http: // myip: 81 versuche. Im letzten Fall schreibt mir der Browser (Chrome), dass der Link defekt ist. Im ersten Fall erhalte ich: Verboten Sie haben keine Berechtigung, auf diesen Server zuzugreifen.
4. IE schreibt, dass "die Website diese Webseite nicht anzeigen wollte".

23
Roman

Wenn Sie nur vor Ort sind, überprüfen Sie Ihre Ports von außen. Verwenden Sie dieses Tool:

http://www.yougetsignal.com/tools/open-ports/

Es wird versucht, eine Verbindung zu Ihrer IP-Adresse am jeweiligen Port herzustellen und Sie darüber zu informieren, ob diese für die Außenwelt offen oder geschlossen ist.

Lokale Probleme auch? Klingt so, als würde Sie die Windows 7-Firewall abschneiden. Fügen Sie mit diesem Tutorial eine Ausnahme hinzu ...

http://www.sevenforums.com/tutorials/542-windows-firewall-add-remove-exception.html

16
Urda

Laufen netstat -a -n oder ss -a -n über eine Eingabeaufforderung werden alle geöffneten Netzwerkverbindungen und die Überwachungsports auf Ihrem Computer angezeigt. 0.0.0.0:80 würde bedeuten, dass es auf Port _ lauscht 80 aller IP-Adressen (localhost und Ihre öffentlichen/privaten IP-Adressen) wobei 127.0.0.1:80 würde bedeuten, dass es nur auf localhost hört. Du kannst hinzufügen -b zum Befehl und es wird angezeigt, welche ausführbare Datei diesen Port verwendet. Sie können dieselben Informationen über den Ressourcenmonitor in Windows 7 im Abschnitt Listening Ports der Registerkarte Netzwerk abrufen.

14
Greg Bray

Wenn Sie sehen möchten, ob es von einem anderen Server geöffnet ist, können Sie einfach telnet serverName 80 und prüfen Sie, ob die Sitzung geöffnet wird. Ist dies nicht der Fall, lauscht der Server entweder nicht oder der Port wird von einer Firewall blockiert.

Wenn es geöffnet und dann sofort geschlossen wird, zumindest Windows 2003, ist die Software (z. B. Exchange) möglicherweise nicht so konfiguriert, dass sie diese bestimmte Schnittstelle oder IP-Adresse überwacht, sondern andere Ports überwacht. Ich habe gesehen, dass IIS sich so verhält, weil es dumm ist, Apache vielleicht nicht.

5
Kyle Brandt

Sie schrieben:

Im ersten Fall erhalte ich: Verboten Sie haben keine Berechtigung, auf diesen Server zuzugreifen.

Obwohl dies seltsam klingen mag, haben Sie tatsächlich nicht ein Problem mit offenen Ports (aber mit der Apache-Konfiguration).

Diese "Verbotene" Nachricht kommt von Ihrem Apache-Server. es bedeutet, dass Ihr Webserver ist über das Internet zugänglich ist.

Sie müssen Apache so konfigurieren, dass alle Hosts bedient werden können. Andernfalls wird die Seite "Verboten" angezeigt. IIRC, Apache ist ursprünglich so eingerichtet, dass nur Anforderungen vom lokalen Computer zugelassen werden.

Irgendwo in Ihrer Apache-Konfiguration gibt es wahrscheinlich einen Abschnitt wie diesen (das tatsächliche Verzeichnis kann anders sein):

<Directory "/home/piskvor/www">
    Allow from 127.0.0.1
    Deny from all
(...)

Wenn Sie möchten, dass ein Computer Ihre Seiten sieht, müssen Sie Deny from all In Allow from all Ändern. Weitere Informationen finden Sie in der Dokumentation zum Zugriffsmodul. .

Um offene Ports zu sehen, sollten Sie wahrscheinlich nmap verwenden. Sie haben eine Windows-Version: http://nmap.org/dist/nmap-5.21-setup.exe

Es reicht nicht aus, wenn Sie sehen, dass Ihr Port 80 von localhost aus geöffnet ist - vielleicht steht etwas im Weg, wenn Sie es von einem anderen Ort aus versuchen. Deshalb empfehle ich nmap

Auf dem Client geben Sie Folgendes ein: nmap ip-of-your-server

1
raerek

Wenn Sie dies in Ihrem lokalen Netzwerk testen möchten, laden Sie nmap herunter. Wenn Sie sehen möchten, ob der Port für die Außenwelt zugänglich ist, führen Sie einen Scan unter https: //www.grc) durch .com/x/ne.dll? bh0bkyd2

1
Jared

Von einem Befehl Eingabeaufforderungstyp:

netstat -ano, look for 0.0.0.0:80 

... oder Ihre IP: 80. Hier erfahren Sie, ob Port 80 auf Ihrem Computer geöffnet ist. Wenn Sie nun überprüfen möchten, ob Sie von außerhalb Ihres Netzwerks darauf zugreifen können, wird festgestellt, ob eine Firewall vorhanden ist. In diesem Fall müssen Sie Port 80 an Ihren Webserver weiterleiten.

0
Jason H

Server-Ports können entweder an eine einzelne IP-Adresse oder an jede verfügbare IP-Adresse gebunden sein. Es hört sich so an, als ob Ihre Apache-Installation so eingerichtet ist, dass sie nur an 127.0.0.1 bindet, und Sie müssen sie so einrichten, dass sie an * bindet. Suchen Sie in Ihrer httpd.conf (im Apache-Verzeichnis conf) nach einer Zeile wie Listen localhost:80 und ändern Sie es in Listen 80.

0
Andrew Aylett

Wenn Sie unter Windows arbeiten, verwenden Sie SysInternals TCPView . Es kann Ihnen sagen, welches Programm welchen Port verwendet.

Screenshto

0
Dio Phung

telnet <Host> <port> ist dein Freund. Es hat den Vorteil, dass es auf so ziemlich jedem Computer der Welt installiert ist.

Änderungen nach erneutem Lesen der Frage:

Hier sind einige nützliche Diagnosetipps

  1. wenn Sie über localhost auf die Site zugreifen können, jedoch nicht über Ihre standortlokale IP-Adresse (192.168. *) von anderen Hosts in Ihrem Netzwerk, liegt wahrscheinlich ein Windows-Firewall-Problem vor.

  2. wenn Sie von anderen standortlokalen Computern auf die Site zugreifen können, jedoch nicht vom Internet zu Ihrer öffentlichen IP-Adresse, liegt ein Konfigurationsproblem bei der Router-/Portweiterleitung vor.

0
jdizzle