Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 25 von 25

Thema: IP Herausfinden

  1. #16
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von bischi
    Ähm - wieso nicht bind?
    Wegen weil das nur Verbindungen von einem bestimmten anderen Computer erlaubt...

    Code:
     
    InetAddress localHost = null;
    			localHost = localHost.getByName(locIP);
    			System.out.println("Lokale IP: " +localHost);
    			ServerSocket listener = new ServerSocket(Port,1,localHost);
    wobei locIP = "localhost" oder "192.168.234.bla" sein kann
    Sollte eigentlich gehen finde ich - aber ein
    Code:
    ServerSocket listener = new ServerSocket(port, 1, InetAddress.getLocalHost())
    täte es auch um herauszufinden wer Localhost denn so ist.

    [Edit]
    Localhost brauchst du gar nicht - ein
    new ServerSocket(port) tuts ja auch[/Edit]

    Buch lesen da steht was scheint mir...

    MfG Peschmä
    Geändert von peschmae (06-04-2005 um 18:43 Uhr)
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  2. #17
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von peschmae
    Code:
    ServerSocket listener = new ServerSocket(port, 1, InetAddress.getLocalHost())
    täte es auch um herauszufinden wer Localhost denn so ist.

    [Edit]
    Localhost brauchst du gar nicht - ein
    new ServerSocket(port) tuts ja auch[/Edit]
    Letzteres hatte ich am Anfang - aber funktioniert hats auch nicht - da hab ich halt versucht, anstatt der Lokalen ip 127.0.0.1 die LanIP anzugeben - doch genützt hats auch nichts...

    Mfg Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #18
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Mal das da versucht während dein Server läuft?
    Code:
    import java.net.*;
    import java.io.*;
     
    public class LocalPortScanner {
     
      public static void main(String[] args) {
        
        for (int port = 1; port <= 65535; port++) {
     
          try {
            // the next line will fail and drop into the catch block if
            // there is already a server running on the port
            ServerSocket server = new ServerSocket(port);
          }
          catch (IOException e) {
            System.out.println("There is a server on port " + port + ".");
          } // end try
     
        } // end for
     
      }
    
    }
    Von dem schlauen Buch oben...

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #19
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von bischi
    Nützt nichts - gibt mir immer noch Router-IP: Ich glaub, ich hab das Problem gefunden: Ich müsste ein Portforwarding vom Router her machen und könnte dann direkt auf gewisse Ports zugreifen - mit der Router-IP.
    Korrekt.
    Bei ausgehenden Verbidnungen kennt das NAT natürlich den Rückweg, aber bei eingehenden hat es keine Information darüber wenn man es ihm nicht sagt.

    Was mich aber auf eine weitere Frage bringt: Wie merkt bspw ICQ, auf welchen Computer es zugreifen muss?
    Der ICQ Client hinter einer Firewall/NAT Router kann eine Portrange angeben und die seinem Gegenüber mitteilen, welche dann am Router natürlich entsprechend geforwarded sein muss.
    Und auch nur dann, wenn der Client hinter dem Router Direct Connects bekommen will, zB eingehende Filetransfers.
    Messages gehen ja auch über eine Verbindung die er selbst aufbaut, bzw auch indirekt über den ICQ Server.

    Und nochwas: mittels nmap hab ich meine eigenen offenen Ports gescannt - komischerweise ist 20300 gar nicht geöffnet, selbst wenn ich neben dem Server noch nen Client starte und verbinde!
    Am besten beim Server Socket keine Adresse angeben, dann wird der Socket auf allen Interfaces angefordert.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #20
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Also - hab noch einiges probiert: Hab mal serversocket.tostring() ausgeben - es kommt dann eine anzeige à la: "port:0 localport:20300" (PS: @peschmä: Das Beispiel ist ja schön und gut, aber wenn du als Port 0 angibst, sucht sich das ServerSocket selbst einen aus (der frei ist) - hilft aber auch nicht weiter... Durchprobieren kann ichs aber bei gelegenheit trotzdem nochmals)

    Also2: nmap zeigt mir entsprechenden Port doch an - muss ihm nur sagen, dass es so hoch suchen soll ... *YEAH-GUTE SOFTWARE* (@man: zeigt alle offenen ports an...)


    Zitat Zitat von anda_skoa
    Der ICQ Client hinter einer Firewall/NAT Router kann eine Portrange angeben und die seinem Gegenüber mitteilen, welche dann am Router natürlich entsprechend geforwarded sein muss.
    Und auch nur dann, wenn der Client hinter dem Router Direct Connects bekommen will, zB eingehende Filetransfers.
    Messages gehen ja auch über eine Verbindung die er selbst aufbaut, bzw auch indirekt über den ICQ Server.
    Da ist ja das komische: wir haben im Lan 3 Compis mit ICQ - aber auf dem Router ist überhaupt nichts geforwardet (und alle 3 clients funktionieren!!!)


    Am besten beim Server Socket keine Adresse angeben, dann wird der Socket auf allen Interfaces angefordert.
    Die Idee ist grundsätzlich nicht schlecht - die hatte ich anfangs auch (hat aber nicht funktioniert, drum hab ichs abgeändert). Das Hauptproblem ist, dass das ServerSocket dann immer auf 127.0.0.1 zeigt - und diese IP ist von aussen ja nicht zugreifbar.

    Ich hab heute im WLan der Uni mal noch das ganze von Debian zu Debian ausprobiert (obwohl das mit der IP da irgendwie komisch war - meine regex die ich heruntergeladen habe hat mir keine IP angezeigt, dynnds aber schon). Der langer rede kurzer sinn: Funktioniert hats wieder mal nicht....

    Noch jemand Ideen?

    MfG Bischi

    PS: Was mich nervt, ist, dass es auf Windows läuft...

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  6. #21
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    [QUOTE=bischi]Also - hab noch einiges probiert: Hab mal serversocket.tostring() ausgeben - es kommt dann eine anzeige à la: "port:0 localport:20300" (PS: @peschmä: Das Beispiel ist ja schön und gut, aber wenn du als Port 0 angibst, sucht sich das ServerSocket selbst einen aus (der frei ist) - hilft aber auch nicht weiter... Durchprobieren kann ichs aber bei gelegenheit trotzdem nochmals)[quote]

    Das Beispiel hatte - wie auch im Text steht - die Ausgabe das da rauszufinden:

    Also2: nmap zeigt mir entsprechenden Port doch an - muss ihm nur sagen, dass es so hoch suchen soll ... *YEAH-GUTE SOFTWARE* (@man: zeigt alle offenen ports an...)
    Nämlich obs dein Programm geschaft hat sich and as Socket zu hängen oder nicht. Aber egal, das geht ja offenbar...

    Da ist ja das komische: wir haben im Lan 3 Compis mit ICQ - aber auf dem Router ist überhaupt nichts geforwardet (und alle 3 clients funktionieren!!!)
    Was ist da seltsam? Das ist normal. Für irgendwas hast du ja einen Router, oder?

    Die Idee ist grundsätzlich nicht schlecht - die hatte ich anfangs auch (hat aber nicht funktioniert, drum hab ichs abgeändert). Das Hauptproblem ist, dass das ServerSocket dann immer auf 127.0.0.1 zeigt - und diese IP ist von aussen ja nicht zugreifbar.
    Sicher? Würde mich jetzt überraschen wenn du da von aussen nicht zugreifen kannst...
    Das sollte wie anda_skoa schon erwähnt hat für alle Interfaces gelten, also loopback und echtes Netzwerk. (Solange du nicht speziell das Dings mit bind() z.B. auf 127.0.0.1 einschränkst...)

    Ich hab heute im WLan der Uni mal noch das ganze von Debian zu Debian ausprobiert (obwohl das mit der IP da irgendwie komisch war - meine regex die ich heruntergeladen habe hat mir keine IP angezeigt, dynnds aber schon). Der langer rede kurzer sinn: Funktioniert hats wieder mal nicht....
    Im WLan der Uni brauchst du das dyndns ding eh nicht - das liefert dir ja höchstens die IP des (letzten) Gateways aber mit der kannst du im LAN nicht wirklich was anfangen.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #22
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von peschmae
    Was ist da seltsam? Das ist normal. Für irgendwas hast du ja einen Router, oder?
    Was daran seltsam ist? Ein Age-Of Server wird nicht gefunden - ICQ ohne Portforwarding aber problemlos (ok, das eine ist der Server, das andere ein Client - aber trotzdem...) Irgendwie seh ich bei dem ganzen noch nicht so durch: Hat jemand einen guten Link dazu?


    Sicher? Würde mich jetzt überraschen wenn du da von aussen nicht zugreifen kannst...
    Das sollte wie anda_skoa schon erwähnt hat für alle Interfaces gelten, also loopback und echtes Netzwerk. (Solange du nicht speziell das Dings mit bind() z.B. auf 127.0.0.1 einschränkst...)
    Für Windows hats funktioniert - aber für Linux eben irgendwie nicht...


    Im WLan der Uni brauchst du das dyndns ding eh nicht - das liefert dir ja höchstens die IP des (letzten) Gateways aber mit der kannst du im LAN nicht wirklich was anfangen.
    Drum hab ich ja auch eine Regex, die mir lokal (irgendwo proc,...) nachschaut, was ich für ne IP habe - funktioniert problemlos, solange ich zuhause bin (192....) Im WLan stand da allerdings nichts... Ich hatte also keine IP - konnte aber aufs Internet zugreifen COOL

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  8. #23
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von bischi
    Was daran seltsam ist? Ein Age-Of Server wird nicht gefunden - ICQ ohne Portforwarding aber problemlos (ok, das eine ist der Server, das andere ein Client - aber trotzdem...) Irgendwie seh ich bei dem ganzen noch nicht so durch: Hat jemand einen guten Link dazu?
    Der Punkt ist:
    ICQ geht so: AOL hat einen Server mit einer bestimmten IP (nee, wohl mehrere, aber egal) - auf den greifst du zu - auf einen bestimmten Port. Also Verbindung von dir aufgebaut via den Router - der weiss dann weil dein 192.168.1.39 Computer die Verbindung aufgebaut hat dass die zu dir gehört und schickt dir alle dazu gehörigen Pakete.

    AGE: Du hast einen Server. Jemand will darauf zugreifen - fragt also deinen Router - der weiss nicht was damit anfangen und wirfts weg (es sei denn du hättest eingestellt dass er alle Anfragen an einen bestimmten oder Anfragen auf einen bestimmten Port an einen bestimmten Compi im LAN weiterleitet, genau wegen dem wegwerfen bist du im Lan hinter dem Router auch relativ sicher auch wenn du nicht überall Firewalls hast).

    Letzteres betrifft aber Chatprogramme normalerweise nicht, da die im Allgemeinen (ausser den erwähnten Filetransfers die oft p2p ablaufen) auf einen Fixen Server im Internet zugreifen, der eben nicht hinter einem Router ist und eine klar definierte IP + einen Port hat wo er zu erreichen ist.

    In der Wikipedia steht jede Menge Zeugs dazu. Nur nich tin einem klaren Artikel und vor allem fangen die immer mit diesem (*Protz ich kenn das auch*)-OSI Schichtmodell an

    Für Windows hats funktioniert - aber für Linux eben irgendwie nicht...
    Das sollte eigentlich der Hinweis sein dass dein Code ok ist. Java ist normalerweise in den Bereichen schon sehr Portabel.

    Was für eine JVM hast du überhaupt? Sicher dass die von Sun genutzt wird und nicht eine andere (die ja möglicherweise da ein Problem haben könnte, auch wenn das mittlerweiele auch alle freien jvms hinkriegen sollten)?

    Drum hab ich ja auch eine Regex, die mir lokal (irgendwo proc,...) nachschaut, was ich für ne IP habe - funktioniert problemlos, solange ich zuhause bin (192....) Im WLan stand da allerdings nichts... Ich hatte also keine IP - konnte aber aufs Internet zugreifen COOL
    Dann hattest du eine IP. Hast du eventuell für eth0 nachgeguckt (vermutlich dein Kabel-Lan) und Wlan war auf eth1?

    Am besten machst du ifconfig dann siehst du alle Schnittstellen mit Daten von deinem Computer (auch das liebe Loopback-Inteface )

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  9. #24
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    So, die sinnvollste Lösung scheint ein VPN-Tunnel zu sein - hat da jemand dazu ein gutes Tut, Anleitung, ...

    MfG Bischi

    PS: Hab ein wenig gegoogelt - scheint nicht so einfach zu sein...
    Geändert von bischi (24-04-2005 um 13:22 Uhr)

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  10. #25
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Hmm, naja. Für den VPN Tunnel stellt sich aber dann ja wieder genau dasselbe Problem wie für das Programm einzeln ohne VPN Tunnel. Da bist du keinen Schritt weiter.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •