Pregunta

Esta es mi primera vez que utiliza la biblioteca SharpPcap.

He creado nuevo proyecto con VC # 2008 y añadió SharpPcap como una referencia a mi proyecto. Puedo enviar un código de ejemplo para obtener la interfaz del ordenador personal pero estoy consiguiendo este error:

Error 1 El tipo o espacio de nombres 'PcapDeviceList' no se pudo encontrar (¿falta una directiva using o una referencia de ensamblado?) C: \ Users \ Ali \ Documents \ Visual Studio 2008 \ Projects \ Pcap \ Pcap \ Form1 .cs 28 13 Pcap

Por favor, consejos para resolver este problema.

aquí está mi código:

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 SharpPcap;
using SharpPcap.Packets;
using SharpPcap.Protocols;
using SharpPcap.Util;


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

        private void button1_Click(object sender, EventArgs e)
        {

            /* Retrieve the device list */
            PcapDeviceList devices = SharpPcap.GetAllDevices();

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

            int i = 0;

            /* Scan the list printing every entry */
            foreach (PcapDevice dev in devices)
            {
                /* Description */
                label1.Text = "{0}) {1}" + i + dev.PcapDescription +"\n"+

                /* Name */
                "\tName:\t{0}" + dev.PcapName+"\n"+
                /* IP Address */
                "\tIP Address: \t\t{0}"+ dev.PcapIpAddress+"\n"+
                /* Is Loopback */
                "\tLoopback: \t\t{0}"+ dev.PcapLoopback;


                i++;
            }
        }
    }
}
¿Fue útil?

Solución

¿Qué versión de SharpPcap está usando?

Me estoy moviendo un pequeño proyecto en el trabajo a partir de 2.1.1 a 2.4.1, y partes de la biblioteca han cambiado significativamente. Luché con esto mismo hace sólo un poco.

LivePcapDeviceList devices = LivePcapDeviceList.Instance;
    foreach (LivePcapDevice device in devices)
    {
         // Do stuff here...
    }

Otros consejos

Lo siento por los cambios en la API. Todavía estoy tratando de conseguir la API llamado correctamente. A partir de la versión 3.0 del API es mucho más limpio y debe ser un poco más estático en el futuro. Si tiene problemas para cualquier puesto en la lista de programadores o en foros sf y obtendrá una respuesta rápida.

Chris SharpPcap mantenedor / autor http://sharppcap.sf.net

Trate de usar Pcap.Net . Es un envoltorio WinPcap claro en .NET.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top