Zum Inhalt springen

Rechner Scan


BMAS

Empfohlene Beiträge


import java.io.*;

import java.lang.Runtime;

import java.net.*;


class antivirus2

        {

         public static void main(String args[])

          {

                try

                {

                File altedef            = new File("W:\\antivirus\\","altedef_1.txt");


                FileWriter fw1          = new FileWriter(fehler);

                LineNumberReader ein    = new LineNumberReader(new FileReader(altedef));

                String rechner          = ein.readLine();




                while (rechner !=null)

                {



                Socket sock=new Socket(rechner,80);


                sock.setTcpNoDelay(true);

                sock.setSoLinger(false,5);

                sock.setSoTimeout(10);


                System.out.println(rechner+" ist erreichbar");


                sock.close();

                rechner=ein.readLine();

                }

                }

                catch (IOException p)

                {

                System.out.println("Fehler: "+p);

                }

}

}

Ich bekomme mit dem Code eine SocketException, was heisst das? :eek:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein Socket besteht immer aus einer eindeutigen IP-Adresse und einem Port!

Den Port hast du ja fest vorgegeben. (Wobei ich nicht den Port 80 nehmen würde, oder hast du auf jedem Rechner im Netzwerk einen WebServer laufen??)

Ich würde wirklich Port 135 bzw. 137 nehmen!! Da kannst du nix falsch machen.

while (rechner !=null)

{

Socket sock=new Socket(rechner,80);

sock.setTcpNoDelay(true);

sock.setSoLinger(false,5);

sock.setSoTimeout(10);

System.out.println(rechner+" ist erreichbar");

sock.close();

rechner=ein.readLine();

}

Jetzt hast du aber einen Fehler gemacht. Deine Variable "rechner" muß eine IP sein! (xxx.xxx.xxx.xxx)

Wenn du das änderst, hast du schon die halbe Miete.

Die letzten 3 xxx müssen nur um 1 erhöht werden.(Außer ihr habt noch nen Router im Netzwerk, dann wird´s schwieriger.)

cu Peeter

MAHLZEIT!! (Ich geh jetzt was essen)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das könntest du ja auch automatisieren. Ganz ohne Datei..

Du baust dir einfach eine Schleife, dir dir die Ips hochzählt. Kommt natürlich ein wenig auf die von euch benutzten Ip-Adressen an...

So kannst du dann natürlich nur sagen, welche Rechner an sind und nicht welche aus... aber das kommt drauf an, wofür du es brauchst...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Klar kannst du auch die Rechnernamen nehmen!!

InetAddress addr=InetAddress.getByName(host);

System.out.println(addr.getHostName()+"("+addr.getHostAddress()+")");

(hier wird beides auf die Konsole ausgegeben NAME+IP)

Aber das erkläre ich dir nach´m Mittag!! Oder dann per Mail, denn das dauert länger!!

cu Peeter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also, ich hab leider nicht den Quellcode hier, aber ich hab schonmal so eine Socketabfrage gemacht und falls es noch die Frage, zu den Returncodes gibt:

Es gibt so eine Art "Returncodes". Es sind aber eher Fehlermeldungen, falls ein Rechner nicht erreichbar ist.

Und wärend des Abfangen dieses spezifischen Fehlers dann z.B. ausgeben, System.out.println("Rechner gibts nicht, oder ist aus.");

Guck einfach nochmal irgendwo im Tutorial nach, welche Fehlermeldungen das genau waren.

Sonst kann ich leider nichts dazu sagen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Monate später...

Schließt du eigentlich die Sockets, mit denen du dich verbindest, wieder?

Außerdem sind nicht bei allen Rechnern viele Ports offen. eigentlich sollten so wenig Ports wie möglich offen sein.

Nimm am besten mal nen Proxy oder was ähnliches. Die haben eigentlich relativ viele Ports offen.

cu Peeter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...