Не удается преобразовать от SharpPCAP.Rawcapture к PacketDotnet.Packet

Я следовал в руководстве по адресу http://www.codeproject.com /Kb/ip/sharppcap.aspx Для реализации простого пакета Sniffer, чтобы автоматизировать аутентификации для меня, мне удалось добраться до раздела фильтрации, и пришлось сделать некоторые настройки в учебный код до сих пор для него Работа, но теперь я втухнул.

Ошибка, которую я получаю;

- лучший перегруженный метод соответствия для «PacketDotnet.tcppacket.getencapsate (PacketDotnet.packet)» имеет некоторые недопустимые аргументы

аргумент 1: не может преобразовать из «SharpPcap.Rawcapture» для 'Packetdotnet.packet'

Но я еще предстоит сделать какие-либо ссылки на PacketDotnet My Self (все до сих пор было SharpPcap).

Весь код, который я до сих пор включен, проблема находится в функции Device_onpacketarival ().

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using PacketDotNet;
 using SharpPcap;

 namespace ConsoleApplication1
 {
     class Program
     {
         static void Main(string[] args)
         {
             string ver = SharpPcap.Version.VersionString;
             Console.WriteLine("SharpPcap {0}, Example1.IfList.cs", ver);

             // Retrieve the device list
             CaptureDeviceList devices = CaptureDeviceList.Instance;

             // If no devices were found print an error
             if (devices.Count < 1)
             {
                 Console.WriteLine("No devices were found on this machine");
                 return;
             }

             // Extract a device from the list
             ICaptureDevice device = devices[0];

             // Register our handler function to the
             // 'packet arrival' event
             device.OnPacketArrival +=
                 new SharpPcap.PacketArrivalEventHandler(device_OnPacketArrival);

             // Open the device for capturing
             int readTimeoutMilliseconds = 1000;
             device.Open(DeviceMode.Promiscuous, readTimeoutMilliseconds);

             // tcpdump filter to capture only TCP/IP packets
             string filter = "ip and tcp";
             device.Filter = filter;

             Console.WriteLine();
             Console.WriteLine("-- The following tcpdump filter will be applied: \"{0}\"",
                 filter);
             Console.WriteLine("-- Listening on {0}, hit 'Enter' to stop...",
                 device.Description);

             // Start capturing packets indefinitely
             device.Capture();

             // Close the pcap device
             // (Note: this line will never be called since
             // we're capturing indefinitely
             device.Close();
         }
         private static void device_OnPacketArrival(object sender, CaptureEventArgs e)
         {
             var tcp = TcpPacket.GetEncapsulated(e.Packet);
         }
     }
 }

6
задан Clorith 11 September 2011 в 16:13
поделиться