Ich habe eine App, die auf Port 9100 auf einem Remote-Server mit http-Seiten ausgeführt wird. Nachdem ich SSH in den Server habe, kann ich Localhost 9100 kräuseln und erhalte die Antwort.
Ich kann jedoch nicht mit http://ip:9100
vom Browser auf dieselbe App zugreifen.
Ich kann auch nicht von meinem lokalen PC aus telnet. Wie debugge ich es? Gibt es eine Möglichkeit, eine bestimmte IP- und Port-Kombination zu verfolgen, um festzustellen, wo sie blockiert wird?
Alle Linux-Tools/-Befehle/-Dienstprogramme werden geschätzt.
Danke, Murtaza
Überprüfen Sie zunächst die IP-Adresse, an die Ihre Anwendung gebunden ist. Sie kann beispielsweise nur an eine lokale Adresse gebunden sein, was bedeutet, dass Sie sie unabhängig von den Firewallzuständen niemals von einem anderen Computer aus sehen würden.
Sie könnten versuchen, einen Portscanner wie nmap zu verwenden, um zu sehen, ob der Port offen ist und von außen sichtbar ist ... er kann Ihnen sagen, ob der Port geschlossen ist (da nichts zu hören ist), offen (Sie sollten ihn gut sehen können) oder gefiltert (beispielsweise durch eine Firewall).
tcptraceroute xx.xx.xx.xx 9100
wenn Sie es nicht gefunden haben, können Sie es installieren
yum -y install tcptraceroute
oder
aptitude -y install tcptraceroute
Sie können den Standardbefehl traceroute
für diesen Zweck verwenden. Dann müssen Sie nichts installieren.
traceroute -T -p 9100 <IP address/hostname>
Das Argument -T
ist erforderlich, damit das Protokoll TCP anstelle von UDP verwendet wird.
sie können tcpdump
auf dem Server verwenden, um zu prüfen, ob der Client überhaupt den Server erreicht.
tcpdump -i any tcp port 9100
stellen Sie außerdem sicher, dass Ihre Firewall eingehende Verbindungen nicht blockiert.
BEARBEITEN: Sie können den Speicherauszug auch in eine Datei schreiben und mit wireshark auf Ihrem Client anzeigen, wenn Sie ihn nicht auf der Konsole lesen möchten.
2. Edit: Sie können prüfen, ob Sie den Hafen über erreichen können
nc ip 9100 -z -v
von Ihrem lokalen PC.
dies kann mit dem folgenden Befehl ausgeführt werden: tcptraceroute -p destination port destination IP
. wie: tcptraceroute -p 9100 10.0.0.50
aber vergessen Sie nicht, das tcptraceroute-Paket auf Ihrem System zu installieren. tcpdump und nc sind standardmäßig auf dem System installiert. Grüße