Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

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

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
amzd
Newbie
Newbie
Beiträge: 48
Registriert: 22. Jul 2009, 13:50

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

Beitrag von amzd »

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
stka
Moderator
Moderator
Beiträge: 3315
Registriert: 1. Jun 2004, 13:56
Wohnort: 51°58'34.91"N 7°38'37.47"E
Kontaktdaten:

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

Beitrag von stka »

netstat kann das
Du hörst nicht auf zu laufen weil du alt wirst. Du wirst alt weil du aufhörst zu laufen.
Das neue Buch http://www.kania-online.de/fachbuecher
Benutzeravatar
/dev/null
Moderator
Moderator
Beiträge: 1347
Registriert: 4. Sep 2005, 20:02
Wohnort: in Hengasch

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

Beitrag von /dev/null »

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 hat geschrieben: 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 hat geschrieben: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 hat geschrieben: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 hat geschrieben: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 hat geschrieben:Warum kommt mein Kollege nicht auf diesen Port des Servers durch, wenn er doch scheinbar frei ist?
Gute Frage ... .

MfG Peter
openSuSE Tumbleweed, Kernel 5.8.x.-desktop x86_64, KDE, Thunderbird 68.x.x
PC: Intel ® Core ™ i5- 2500, NB: TUXEDO Intel ® Core ™ i5- 4340M
S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
Schau hier: http://www.thunderbird-mail.de
spoensche
Moderator
Moderator
Beiträge: 7539
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

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

Beitrag von spoensche »

amzd hat geschrieben: 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.
amzd
Newbie
Newbie
Beiträge: 48
Registriert: 22. Jul 2009, 13:50

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

Beitrag von amzd »

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
Benutzeravatar
framp
Moderator
Moderator
Beiträge: 4317
Registriert: 6. Jun 2004, 20:57
Wohnort: bei Stuttgart
Kontaktdaten:

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

Beitrag von framp »

amzd hat geschrieben:...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
Moderator
Beiträge: 7539
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

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

Beitrag von spoensche »

amzd hat geschrieben: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.
Antworten