computer im netzwerk anpingen (c#) geschlossen 

Status
Für weitere Antworten geschlossen.

Die_Pest

Registered +
Registriert
Apr. 2007
Beiträge
141
hi

hätte jemand ne idee für nen code um einen computer im netzwerk mit hilfe einer gegebenen ip anzupingen?
als praktisch zu überprüfen ob diese ip vergeben is und ob der computer gerade online is...
und kennt jemand vll ne möglichkeit diesen computer dann nach den freigaben zu durchsuchen?

freu mich über jede hilfe

mfg die_pest
 
Zuletzt bearbeitet von einem Moderator:
Hier ist ein Vorschlag in C#

Code:
using System.Net.NetworkInformation; 

Ping myPing = new Ping(); //Instanziieren
String host = "fritz.box"; //oder "192.168.178.1"
byte[] buffer = new byte[32]; //der Buffer
int timeout = 1000; //Timeout in MilliSekudnen
PingOptions pingOptions = new PingOptions(); //Optionen können festgelegt werden
PingReply reply = myPing.Send(host, timeout, buffer, pingOptions); //Senden der Anfrage

//Statusüberprüfung
if (reply.Status == IPStatus.Success)
{
Console.WriteLine("Antwort in {0}ms erhalten", reply.RoundtripTime);
}
else if (reply.Status == IPStatus.TimedOut)
{
Console.WriteLine("Timeout");
}

oder in Java

Code:
String host = "172.16.0.2"
int timeOut = 3000; // I recommend 3 seconds at least int timeout = 3000; / / Ich empfehle 3 Sekunden mindestens
boolean status = InetAddress.getByName(host).isReachable(timeOut) boolean status = InetAddress.getByName (Host). isReachable (timeOut)


oder in Python

Code:
def ping(host, retries=3, timeout=5, delay=1, size=64, hops=30):
pinger = get_pinger(retries, timeout, delay, size, hops)
sum = 0
Nxmit = 0
Nrecv = 0
_min = sys.maxint
_max = 0
print "Pinging %s with %d bytes of data." % (host, size)
try:
while 1: # escape with SIGINT (^C)
Nxmit = Nxmit + 1
host, rttime = pinger.ping(host)
if rttime >= 0:
sum += rttime
Nrecv = Nrecv + 1
_min = min(_min, rttime)
_max = max(_max, rttime)
print "%-16s %d ms" % (host, rttime)
scheduler.sleep(pinger.delay)
except KeyboardInterrupt:
print "%d packets transmitted, %d packets received, %d%% packet loss" % (Nxmit, Nrecv, 100-(Nxmit/Nrecv*100))
print "round-trip min/avg/max = %d/%d/%d ms" % (_min, sum/Nrecv, _max)


oder als shell:

Code:
ping
 
Zuletzt bearbeitet von einem Moderator:
vielen dank für deine großzügige beispielauflistung!:thx::thx::thx:
aber c# war schon richtig!
ich versuchs jetzt mal herauszufinden obs funktioniert und ich meld mich nochmal!
mfg die_pest

hi
der code von wasawasa war echt hilfreich!
hat jetzt jemand auch noch code um vll auf diesen computer mit der gegebenen ip zuzugreifen?

mfg die_pest
 
Zuletzt bearbeitet von einem Moderator:
OK.
Jetzt wird es etwas schwerer :).

Für die Aufgabe bieter sich das "System.Management" an.
Ist aber nicht von Beginn an in einem Projekt verfügbar.
Darum unter "Projekt->Verweise hinzufüger ..." die Assembly "System Management" hinzufügen.
Zum spielen danach ein Windows Forms Projekt anlegen und einen Button auf die Form werfen.
Die Ergebnisse danach einfach im Debugger anschauen.

Und mal ein Blick in den Artikel werfen: //Direkter Download gelöscht

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Management;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
ConnectionOptions oConn = new ConnectionOptions();

ManagementScope oMs = new ManagementScope(@"\\" + "192.168.0.20" + "\\root\\cimv2", oConn);

ObjectQuery oQuery = new System.Management.ObjectQuery("Select * from Win32_Share");


ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery);

ManagementObjectCollection oReturnCollection = oSearcher.Get();

foreach (ManagementObject oReturn in oReturnCollection)
{
String name, caption, path;
name = oReturn['Name'].ToString();
caption = oReturn['Caption'].ToString();
path = oReturn['Path'].ToString();
}
}
}
}

Ach ja ... und die IP-Adresse anpassen.
Meinen Rechner wirst Du kaum in Deinem Netzwerk finden ...
 
Zuletzt bearbeitet von einem Moderator:
vielen dank wasawasa!
ist mal wieder echt hilfreich dein code!;)
achja ung wegen der ip adresse...
mann kann doch sicherlich statt einer ausgeschriebenen ip einen einen srting ip einfügen der vorher definiert wurde, richtig?
mfg die_pest
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten