Autor Beitrag
KokaLola
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Sa 18.12.10 01:58 
Moin - ich habe eine kleine Frage... für den einen oder anderen vllt. schnell zu beantworten?

Ich beschäftige mich gerade mit Protokollen und wollte mir mal die Pakete anschauen, nur weiß ich nicht wie
ich mit "PacketDotNet und SharpPcap" arbeiten muss...

Soll ein einfaches Programm sein, welches die Pakete in einer listbos ausgibt.

Vllt. kennt sich damit ja wer aus und hat vllt. ein bsp. Programm?

PS: Benutze Visual Studio 2008 und 2010

Mit freundlichen Grüßen
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mo 20.12.10 13:31 
Hallo,
dafür gibt es auch eine ganz gute Dokumentation:
www.tamirgal.com/blo...using-SharpPcap.aspx
Leider weicht der Beispielcode darin etwas von der aktuellen Version ab, aber mit ein bisschen überlegen kriegt man das auch ganz schnell raus. Zwei kurze Beispiele dazu:
Alle Netzwerkadapter auflisten:
ausblenden C#-Quelltext
1:
2:
foreach (PcapDevice device in LivePcapDeviceList.Instance)
  Console.WriteLine(device.Description);
Pakete über einen Netzwerkadapter mitschneiden:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
private void StartDeviceCapture(PcapDevice capturedDevice)
{
  capturedDevice.OnPacketArrival += new PacketArrivalEventHandler(capturedDevice_OnPacketArrival);
  capturedDevice.Open();
  capturedDevice.StartCapture();// device.PcapStartCapture();
}

private void StopDeviceCapture(PcapDevice capturedDevice)
{
  capturedDevice.StopCapture();
  capturedDevice.Close();
}

private void capturedDevice_OnPacketArrival(object sender, CaptureEventArgs e)
{
  Packet packet = Packet.ParsePacket(e.Packet);
  if (packet is TcpPacket)
  { 
    //lese Informationen aus              
  }
}
Ansonsten sind in der Source von SharpPcap noch viele andere Beispiele
sourceforge.net/proj...4.0.src.zip/download
LG, Marko