[C/C++] Java Helfer (Ping)

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von frankred, 19. April 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 19. April 2010
    Java Helfer (Ping)

    Hi Leute, ich arbeite an nem kleinen Network Explorer in JAVA. Jetzt bräuchte ich in ein tool (in C/C++ geschrieben) welches mir einfach TRUE oder FALSE zurückgibt, wenn der host erreichbar ist oder nicht. Leider ist nämlich die Ausgabe bei "ping" (wegen verschiedensprachigheit) nicht eindeutig .

    Hat da jemand ne idee obs so ein tool gibt oder ob man sich das auch leicht selber schreiben kann.
    Bin in c++ doch eher noch ein "Newbie"

    Edit: .isReachable (in Java) möchte ich nicht benutzen da es noch sehr buggi ist und bei vielen PCs nichts richtig funktioniert!

    Grüßle Frankred
     
  2. 19. April 2010
    AW: Java Helfer (Ping)

    Das Problem an C++ ist:
    Du musst es für jedes OS neu compilen bzw. neu coden.

    Wenn du das wirklich in C oder C++ schreiben willst: Lern mit Raw Sockets umzugehen, lies dich in IP + ICMP ein und versuch dein Glück.

    Warum ist .isReachable() buggy?
     
  3. 19. April 2010
    AW: Java Helfer (Ping)

    Macht keinen Sinn, da Windows ab XP SP2 oder SP3 keine Raw-Sockets mehr unterstützt. Gibt denn der ping Befehl unter Windows bzw. auch Linux keinen Rückgabewert zurück?
     
  4. 19. April 2010
    AW: Java Helfer (Ping)

    Ne Frage am Rande, wird das tool auch mit Samba Shares umgehen können? ^^

    ups Bedankt
     
  5. 19. April 2010
    AW: Java Helfer (Ping)

    Danke erstmal für eure antworten.
    @pyro
    Hauptproblem bei isReachable() ist dass es nicht Thread-Safe ist, und somit für mich sowieso nicht zu gebrauchen ist(Ein Scann mit 255 IPs würde nämliche ewig dauern, also mehrere Minuten)
    Außerdem braucht isReachable Administratorrechte so viel ich das verstanden habe. Es sind auch 100te foreneinträge bei denen leute Probleme haben mit isReachable, bei mir funktioniert die funktion auch nicht richtig. Gibt manchmal false zurück obwohl der PC erreichbar ist.

    @Chillikid
    also ping.exe gibt ja eine Ausgabe(und die ist halt nicht immer gleich weils windows ja in X verschiedenen Sprachen gibt) aus. Was meinst du mit Rückgabewert? Wie kann ich den denn mit JAVA auslesen?

    @unix
    nicht direkt, ich will dann einfach rechtsklick draufmachen "Freigaben öffnen" dann öffnet sich der Explorer mit "\\Mein-PC\".
     
  6. 19. April 2010
    AW: Java Helfer (Ping)

    Warum führst net einfach aus und parst nach den "ms" (milisekunden vom reply) - wenn die nicht da sind, dann muss es wohl in irgendeiner sprache nen timeout sein . Wobei ich ne java-lösung eindeutig vorziehen würde


    Edit:
    Ich hab mal via google was gefunden - habs aber nie umgesetzt, ich lerne java nur gezwungen :X (asm ftw! :/)

    Verdammt schneller und einfacher Portscanner in Java - Artikel von www.it-academy.cc - Verein f
     
  7. 19. April 2010
    AW: Java Helfer (Ping)

    Windows hat Raw Sockets nicht abgeschafft, sondern nur eingeschränkt. ICMP-Packete kann man trotzdem noch schicken. Windows würde sich da ja ins eigene Bein schießen, da man ohne Raw Sockets keine ICMP-Packete schicken kann.

    Unter Linux gibt ping 1 zurück, wenns nen Fehler gab. Unter Linux braucht man zum Versenden von ICMP-Paketen übrigens CAP_NET_RAWIO. Deshalb hat ping unter Linux ein setuid-Bit.
     
  8. 24. April 2010
    AW: Java Helfer (Ping)

    ok danke an euch habs jetzt hinbekommen
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.