ServerSocket im internet zugänglich machen

Status
Nicht offen für weitere Antworten.

FreedomTears

Mitglied
hey,
ich hab mir in mühsehliger arbeit ein kleines programm geschrieben das zwei netzwerkrechner miteinander verbindet, im großen und ganzen klappt auch alles und es geht nicht über die beispiele die man überall findet hinaus (den quelltext zu kopieren wäre etwas viel.....)!
allerdings hab ich bei allen beispielen nie 100% begriffen ob der rechner, sofern er ans internet angeschlossen ist, auch aus diesem heraus aufgerufen werden kann... wenn nicht, gibt es eine möglichkeit ein serversocket explizit als internetzugänglich zu deklarieren?

2 szenarien:
- ich hab sowohl server als auch client auf meinem rechner laufen und connecte per netzwerk ip vom client auf den server. das is kein problem und funktioniert auch wunderbar
- ich starte den server wie zuvor, den client lasse ich allerdings auf meine ip im internet zugreiffen. nach einiger zeit des wartens bekomme ich eine "java.net.SocketException: Network is unreachable" fehlermeldung...

ja, ich habe eine firewall, diese ist aber für meine test ausgeschalten.. zudem hab ich versucht eine regel zu erstellen die meinem jar bestimmte dinge erlaubt, was aber nicht geklappt hat da die firewall nur *.exe dateien rechte verteilen will (kaspersky)

wär toll wenn jemand ne idee hätte... :)
 

Dante

Bekanntes Mitglied
hi, hängt der rechner direkt am internet oder ist da zB. ein dsl-router dazwischen?

'Network is unreachable' heisst, dass dein Rechner den Adressbereich der eingegebenen IP nicht erreichen konnte, scheint also eher kein Fehler mit deinem Programm sondern ein Denkfehler beim testen zu sein...
 

FreedomTears

Mitglied
Ja, es hängt ein DSL Router dazwischen.. das problem ist, kann ich den irgentwie ignorieren beim addressieren bzw. genauer angeben das er auf meinem rechner schauen soll?
 

jPat

Bekanntes Mitglied
Meistens kann man beim Router einen port direkt zu PC weiterleiten lassen. Anleitungen dazu findest du im Internet. Evtl mal im P2P Network nachschauen. :)
 

ms

Top Contributor
jPat hat gesagt.:
Meistens kann man beim Router einen port direkt zu PC weiterleiten lassen. Anleitungen dazu findest du im Internet. Evtl mal im P2P Network nachschauen. :)
Stichwort: Portforwarding oder NAT
 

FreedomTears

Mitglied
vielen dank.. :) wäre toll, wenn das java programm unabhänig davon, in welchem netzwerk es gestartet wird diesen port selbst freigeben könnte, das wird aber wohl nich möglich sein da es die entsprechenden freigaben nicht hat.. oder fällt irgentjemand eine möglichkeit dazu ein?
 

ms

Top Contributor
FreedomTears hat gesagt.:
vielen dank.. :) wäre toll, wenn das java programm unabhänig davon, in welchem netzwerk es gestartet wird diesen port selbst freigeben könnte, das wird aber wohl nich möglich sein da es die entsprechenden freigaben nicht hat.. oder fällt irgentjemand eine möglichkeit dazu ein?
Dann könnten wir gleich komplett auf Security verzichten.
 

Dante

Bekanntes Mitglied
seit wann ist NAT denn ein sicherheitsfeature? Nicht alles glauben was dir der Hersteller auf die Platte schreibt.

Freedom Tears: Das Problem ist, dass du nicht genug öffentliche IP-Adressen hast, daher bildet dein Router eine öffentliche auf mehrere interne IP-Adressen ab. Ports welche du auf internen IP-Adressen öffnest sind daher - ohne weiteres - nicht auf der öffentlichen IP sichtbar.

Es gibt aber natürlich Möglichkeiten 'Löcher' ins NAT zu schlagen (hier kommt z.B. zum Tragen, dass NAT eben kein Sicherheitsfeature ist), das setzt aber etwas mehr Aufwand, wie Proxies vorraus.

Skype ist z.B. sehr gut darin, aus NATs auszubrechen.
 

FreedomTears

Mitglied
okay... also schön wärs.. *hust*

d.h. allerdings... sollte der server auf meinem rechner laufen und jemand versucht auf unser netzwerk zuzugreifen, über die ip die beispielsweise myip.name/?tab=myip ausgibt, dann sollte er sofern der port freigegeben ist auf diesen server zugreiffen können?
 
T

tuxedo

Gast
Jepp...

Es gibt auch noch Techniken wie UPnP.. Azureus nutzt das unter anderem. Wenn dein Router dann auch UPnP kann, kann die Anwendung dem Router sagen: Du, gib mir mal bitte Port XYZ frei. Und der Router macht das dann, sofern er UPnP Support hat und dieser aktiviert ist.

Wie das mit Java funzt: Kein Plan.
Skype benutzt im übrigen nix mit Proxy. Skype bohrt die Löcher via UDP Hole Punching. Siehe auch: http://www.heise.de/security/artikel/82054

Gruß
Alex
 

Dante

Bekanntes Mitglied
@ms: jip, aber platte sollte eigentlich packung heissen :)

@freedom-tears: moment, ganz ruhig, was meinst du mit 'myip.name/?tab=myip'? das ist jedenfalls keine IP und ein zugriff beinhaltet immer einen port oder ein protokoll (aus dem sich dann ein default-port ergeben würde).

Was du in deinem DSL-Router einstellen kannst ist, wie oben auch schon gesagt, eine Port-Weiterleitung, d.h. dein DSL-Router nimmt z.B. auf Port 5555 Verbindungen an und leitet diese auf eine feste IP im internen Netz weiter. Wenn der entsprechende Port auf der internen IP dann geöffnet ist, funktioniert das relativ transparent.

@alex: hat wer gesagt, skype würde proxies benutzen? UDP hole punching funktioniert z.B. aber auch nur, wenn beide Kommunikationspartner wissen, dass sie nun mal damit anfangen sollen, somit benötigst du schon einen Proxy, der erstmal deine Verbindungsanfrage weiterleitet.
 
T

tuxedo

Gast
Hmm, okay, als ich mir den POst eben nochmal durchgelesen hab, ist mir aufgefallen dass der Proxy mit wirklich mit Skype assoziiert war. Sorry für die Verwechslung.

UDP H.P. braucht keinen Proxy, eher einen Server. Okay, kommt halt drauf an wie man Proxy definiert ;-)

- Alex
 

NTB

Bekanntes Mitglied
FreedomTears hat gesagt.:
okay... also schön wärs.. *hust*

d.h. allerdings... sollte der server auf meinem rechner laufen und jemand versucht auf unser netzwerk zuzugreifen, über die ip die beispielsweise myip.name/?tab=myip ausgibt, dann sollte er sofern der port freigegeben ist auf diesen server zugreiffen können?

Japp! Korrekt!

@dante: klick doch einfach mal drauf, dann weisst du, was er damit meint!
 

Dante

Bekanntes Mitglied
alex0801 hat gesagt.:
UDP H.P. braucht keinen Proxy, eher einen Server. Okay, kommt halt drauf an wie man Proxy definiert ;-)

ja, das ist wohl die schuld meiner professorin, dort heisst die kiste nämlich Proxy :) Das kommt imho aus der VoIP-Szene, dort heisst eigentlich alles was irgendwie am Aufbauen von Verbindungen beteiligt ist, Proxy.

Da der 'Server' ja aber wirklich Verbindungen zwischen zwei Knoten herstellt, würde ich ihn schon eher als Proxy denn als normalen Server bezeichnen. Ein Server stellt dem Client ja eigentlich nur Dienste zur Verfügung, relaying würde ich aber nicht als einen normalen Serverdienst bezeichnen. Kommt aber auch wieder auf die Definition an. Man ist das anstrengend :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Java Socket und ServerSocket über Internet-IP? Netzwerkprogrammierung 9
E Custom E Mail Adresse mithilfe Serversocket oder ähnliches Netzwerkprogrammierung 21
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
D ServerSocket - Socket Verbindungsart Netzwerkprogrammierung 3
J 1 Socket - 2 Serversocket Netzwerkprogrammierung 4
J Client - Serversocket Netzwerkprogrammierung 1
Seikuassi Socket ServerSocket mehrmals erzeugen Netzwerkprogrammierung 1
cezary Socket ServerSocket starten über GUIIm unterstehenden Code versuche Netzwerkprogrammierung 6
J ServerSocket sauber beenden Netzwerkprogrammierung 3
H ServerSocket.accept() unterbrechen Netzwerkprogrammierung 3
TheJavaKid ServerSocket beendet mit PuTTy Netzwerkprogrammierung 9
T ServerSocket.accept Rückgabetyp casten Netzwerkprogrammierung 3
P Socket Daten senden mit ServerSocket? Netzwerkprogrammierung 2
4 Socket Kann kein ServerSocket erstellen Netzwerkprogrammierung 4
D Socket ServerSocket Push Netzwerkprogrammierung 5
G ServerSocket.accept() überschreibt IP-Adresse Netzwerkprogrammierung 4
C serversocket.accept() klappt nicht Netzwerkprogrammierung 10
Tobse HTTP ServerSocket HTTP Netzwerkprogrammierung 4
X FAQ Frage - Netzwerkgrundlagen - ServerSocket und Socket Netzwerkprogrammierung 4
M Wahrnehmen, dass ServerSocket geschlossen wurde Netzwerkprogrammierung 14
T ServerSocket bleibt beim lesen von Input hängen Netzwerkprogrammierung 2
M ServerSocket.accept() abbrechen Netzwerkprogrammierung 8
Schandro Herausfinden ob hinter einem Port bereits ein ServerSocket steckt Netzwerkprogrammierung 2
2 Class mit ServerSocket erbt von Thread? Netzwerkprogrammierung 3
dayaftereh serverSocket.accept(); Wecken Netzwerkprogrammierung 2
G Frage zu Serversocket-Beispiel aus der FAQ Netzwerkprogrammierung 17
D Komisches Fenster bei Serversocket Netzwerkprogrammierung 2
M Kommunikation zwischen ServerSocket und Socket Netzwerkprogrammierung 2
H ServerSocket -> Zugriff nur von localhost Netzwerkprogrammierung 6
P Serversocket schmeißt immmer EOFEXCEPTION Netzwerkprogrammierung 2
A serversocket soll anfrage vom handy entgegennehmen Netzwerkprogrammierung 4
P Problem mit Socket und ServerSocket Netzwerkprogrammierung 2
S ServerSocket merkt nicht, wenn keiner mehr da ist Netzwerkprogrammierung 8
J ServerSocket vs. DatagramSocket Netzwerkprogrammierung 2
A ServerSocket prinzipielle Frage Netzwerkprogrammierung 5
D Problem ServerSocket global Netzwerkprogrammierung 3
J ServerSocket schließen / öffnen im Programmverlauf Netzwerkprogrammierung 4
G einfache Frage zu ServerSocket ... Netzwerkprogrammierung 5
D Socket-Verbindungen übers Internet Netzwerkprogrammierung 4
M Erstelltes Programm über Internet Browser ausführen Netzwerkprogrammierung 26
V Einfachen Javaserver über das Internet erreichbar machen Netzwerkprogrammierung 2
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
M Kommunikation übers Internet Netzwerkprogrammierung 9
T Suche Internet-Lektüre Netzwerkprogrammierung 0
E Java Server übers Internet erreichen Netzwerkprogrammierung 4
T Socket Methoden über Internet aufrufen Netzwerkprogrammierung 1
S Socket Kommunikation über Internet Netzwerkprogrammierung 1
S Programmieren mit dem Internet Netzwerkprogrammierung 4
J Erster Server-Client läuft auf lokalem Rechner problemlos. Zwei Rechner über das Internet nicht Netzwerkprogrammierung 8
A Computer über Internet verbinden Netzwerkprogrammierung 12
J Komplexes Netzwerk-Spiel im Internet Netzwerkprogrammierung 13
N RMI Einstellungen für "übers Internet" Netzwerkprogrammierung 8
C Verbindung zu einem Hostrechner über das Internet herstellen Netzwerkprogrammierung 15
J Socket Chatserver aus dem Internet nicht erreichbar Netzwerkprogrammierung 19
M Modem, serielle Schnittstelle. Verbindungsaufbau ins Internet. Netzwerkprogrammierung 6
P Socket Verbindung über das Internet Netzwerkprogrammierung 2
F Bilder aus Internet downloaden Netzwerkprogrammierung 12
H Eine Mac-Adresse übers Internet ermitteln Netzwerkprogrammierung 2
E Zwei PCs über das Internet miteinander verbinden? Netzwerkprogrammierung 3
E Socketverbindung über das Internet - Timeout? Netzwerkprogrammierung 28
Y client server socket via internet Netzwerkprogrammierung 8
E Java über Socket ins Internet? Netzwerkprogrammierung 4
eLogic Download aus Internet Netzwerkprogrammierung 18
Y server client socket verbindung übers internet aufbauen Netzwerkprogrammierung 8
J HTTP Java Client / Server Internet - Webshare ?! Netzwerkprogrammierung 9
C Java und das Internet Netzwerkprogrammierung 14
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
A DataGramsocket Übertragungsproblem im Internet (IPs für Voip) Netzwerkprogrammierung 5
M Socket JFileChooser übers Internet Netzwerkprogrammierung 32
trash HTTP Internet Connection bei Proxy ?! Netzwerkprogrammierung 3
J Socket Erreichbarkeit eines Java Servers (Socket-Lösung) über das Internet Netzwerkprogrammierung 3
E Socket Client-Applikation mit GUI für Internet IO-Platine Netzwerkprogrammierung 2
U Aktivierung via Internet Netzwerkprogrammierung 8
H Verbindungsproblem über das Internet Netzwerkprogrammierung 9
C Dateigröße einer Datei im Internet ermitteln Netzwerkprogrammierung 2
T Verbindung über das Internet Netzwerkprogrammierung 2
B Bibliothek, um Eckdaten zur Internet-Verbindung rauszufinden Netzwerkprogrammierung 2
G testen ob Verbindung ins internet besteht Netzwerkprogrammierung 4
S Chat aufs Internet ausweiten Netzwerkprogrammierung 5
G ProxySettings aus Internet Explorer lesen Netzwerkprogrammierung 8
S Netzwerk übers Internet Netzwerkprogrammierung 30
L Multicast im Internet? Netzwerkprogrammierung 3
conan2 Ordner im Internet Netzwerkprogrammierung 2
Z RMI über Internet Netzwerkprogrammierung 3
G RMI über internet, fettes problem Netzwerkprogrammierung 8
B Internet blocken Netzwerkprogrammierung 14
H Dateigröße übers Internet Netzwerkprogrammierung 3
C Sockets über Internet Netzwerkprogrammierung 10
C Serverzugriff über Internet, Server in anderem Bussystem Netzwerkprogrammierung 9
B crawler und volltext suche im internet Netzwerkprogrammierung 2
Z automatische einwahl ins internet Netzwerkprogrammierung 2
G apache von außen zugänglich machen Netzwerkprogrammierung 5
G Serverprogramm zugänglich machen Netzwerkprogrammierung 3

Ähnliche Java Themen


Oben