• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wie finde ich heraus, ob ein Port benutzt werden kann?

amzd

Newbie
Hallo,

Ich betreue neuerdings einen Server, auf dem auf einem Port eine Verbindung hergestellt werden soll, z.B. Port 7500.
Ein Kollege meint, vor kurzem ging das noch aber jetzt bekommt er keine Verbindung mehr.
Es gibt keinen Dienst, der fest auf diesen port hört.
Im Web habe ich gesehen, dass angeblich folgendermaßen geprüft werden kann, ob der Port genutzt werden kann:
telnet 127.0.0.1 7500
// trying 127.0.0.1...
// telnet: connect to address 127.0.0.1: Connection refused

Mein Eindruck ist, dieser Test ist Quatsch. Oder?
Eine Firewall ist nicht aktiv, es sollten also alle Ports frei sein, auf die nicht gelauscht wird.
lsof -i :7500
// nichts
nmap localhost
// 7500 nicht dabei
netstat -atun |grep 7500
// nichts
Wie kann ich sicher stellen, dass der Port prinzipiell auf dem Server genutzt werden kann?

Habe in die /etc/services reingeschaut. Dort ist ein Eintrag für 7500:
silhouette 7500/tcp #Silhouette User
Was sagt mir das? Das der Port nur von silhouette genutzt werden kann?
Es gibt diesen Dienst ja nicht.
Warum kommt mein Kollege nicht auf diesen Port des Servers durch, wenn er doch scheinbar frei ist?

Danke für Hinweise.
Mit freundlichem Gruß

Andreas
 

/dev/null

Moderator
Teammitglied
Hi amzd,

du betreust also einen Server ... .
Wer, wenn nicht du muss denn wissen, ob dort ein bestimmter Dienst läuft und auf :7500 lauschen soll?
Du nennst diesen Dienst nicht beim Namen - kennst du dessen Namen überhaupt?
Hast du mit "ps" überhaupt schon kontrolliert, ob der Dienst läuft?

amzd schrieb:
Im Web habe ich gesehen, dass angeblich folgendermaßen geprüft werden kann, ob der Port genutzt werden kann:
telnet 127.0.0.1 7500
Mein Eindruck ist, dieser Test ist Quatsch. Oder?
Dieser Test ist IMHO eine der besten, schnellsten und sichersten Methoden, um festzustellen, ob ich zu einem bestimmten Dienst eine Verbindung herstellen kann. Ich kann mich damit zum Bsp. mit einem Mailserver verbinden, dort mit Benutzername+PW anmelden, Mails auflisten, downloaden, löschen und sogar Mails senden.
Was allerdings bei deinem namenlosen "geheimen" Dienst auf :7500 möglich ist, können wir nicht wissen. Es kann sogar sein, dass nur einem Rechner mit einer bestimmten IP der Zugang möglich ist (=> refused?). Tipp: Manchmal hilft ein Blick in die Konfiguration dieses Dienstes.
Aber "Quatsch" ist dieser Test keinesfalls!

amzd schrieb:
Eine Firewall ist nicht aktiv, es sollten also alle Ports frei sein, auf die nicht gelauscht wird.
Und ich dachte immer, dass genau die Ports "frei" sein sollen, auf denen ein Dienst lauscht ... .

amzd schrieb:
Wie kann ich sicher stellen, dass der Port prinzipiell auf dem Server genutzt werden kann?
Indem:
1. ein Dienst auf diesem Server läuft, der genau auf diesem Port lauscht
2. sichergestellt ist, dass kein anderer Dienst diesen Port schon benutzt
3. sichergestellt wird, dass eben dieser Port nicht durch einen Firewall geblockt wird bzw. bei NAT darauf weitergeleitet wird.

amzd schrieb:
Habe in die /etc/services reingeschaut. Dort ist ein Eintrag für 7500:
silhouette 7500/tcp #Silhouette User
Was sagt mir das? Das der Port nur von silhouette genutzt werden kann?
Es gibt diesen Dienst ja nicht.
Du kannst jeden Dienst grundsätzlich auf jeden (auf deinem Server mit Sicherheit freien und unbenutzen) Port legen. Die Gegenstelle muss es nur wissen.
Siehe oben, 1 bis 3

amzd schrieb:
Warum kommt mein Kollege nicht auf diesen Port des Servers durch, wenn er doch scheinbar frei ist?
Gute Frage ... .

MfG Peter
 

spoensche

Moderator
Teammitglied
amzd schrieb:
Eine Firewall ist nicht aktiv, es sollten also alle Ports frei sein, auf die nicht gelauscht wird.

:schockiert:
Die Firewall willst und hast du sofort wieder zu aktivieren und das auf dem schnellsten Weg!!!! Da führt kein Weg dran vorbei. Wie kann man nur so ein Risiko eingehen? :schockiert:

Ich hoffe du weisst, dass eine nicht aktivierte Firewall auf einem Server unverantwortlich ist. Du willst den Server doch bestimmt nicht als Zombie für Angriffe zur Verfügung stellen??

Du weisst das die IP 127.0.0.x, die IP des Localhost ist und nicht von aussen erreichbar ist?

Überprüfe die Konfiguration des entsprechenden Serverdienstes und ob dieser läuft. Zusätzlich musst du den Port auch in der Firewall bzw. Paketfilter freigeben.
 
OP
A

amzd

Newbie
Hi,
na, ja danke für die Antworten.
erst mal: der Server steht in einem gesicherten Bereich, hinter einer Firewall, weshalb er selbst nicht unbedingt eine braucht.
Ich bin nicht ganz so unbedarft; dass 127.0.0.1 (oder .x) der lokale Server ist, ist auch klar.
Zum eigentlichen Problem:
Mein Kollege behauptet, dass in seinem DMS (Dealer Management System) eine Schleife läuft, die den Port 7500 abhört. Aber es ist wohl kein Dienst.
Jetzt verbindet er sich auf diesen Port und kommt nicht durch. Ergo sagt er mir, der Port sei nicht frei geschaltet.
Alles, was ich machen möchte, ist, einen Dienst - je einfache desto besser - vorübergehend an diesem Port lauschen lassen und mich dann zu diesem Dienst über einen passenden Client verbinden. Erst dann ist für mich klar: ok, der Port ist frei und ich komme auch durch. Zu 99.9% bin ich sicher, dass der Port frei ist und man durchkommen müsste. Aber das wäre der endgültige Beweis.
Also: welchen Dienst könnte ich auf 7500 lauschen lassen und mit welchem dazu passenden Client dann die Verbindung testen?
Unter Windows wüßte ich wie, ich würde einen Applicationserver auf dem Port laufen lassen und das logfile einsehen, oder nur einen TCP-Trace vor einen anderen Dienst schalten und schauen ob man über den Trace durchkommt.
Leider bin ich unter Linux nicht so bewandert.
Aber wenn hier einer wüßte, nimm diesen oder jenen Dämon, den Port in der und der KOnfig-Datei konfigurieren und dann mit jenem Client zum Test die Verbindung herstellen, ja, dann wäre mir geholfen.

Schönen Gruß
Andreas
 

framp

Moderator
Teammitglied
amzd schrieb:
...Also: welchen Dienst könnte ich auf 7500 lauschen lassen und mit welchem dazu passenden Client dann die Verbindung testen? ...
netcat ist Dein Freund. Sowohl als Server wie auch als Client :roll:
 

spoensche

Moderator
Teammitglied
amzd schrieb:
Hi,
na, ja danke für die Antworten.
erst mal: der Server steht in einem gesicherten Bereich, hinter einer Firewall, weshalb er selbst nicht unbedingt eine braucht.

Das ist grob fahrlässig.
Die Firewall, hinter der dein Server steht, verbietet bestimmt nicht die Verbindungen zu diversen Ports deines Servers. Ein Server hat grundsätzlich immer einen eigenen Paketfilter / Firewall am laufen.

Ein Tool zum Testen hat dir framp ja schon an die Hand gegeben.
 
Oben