Pergunta
Esta é a minha primeira vez para usar a Biblioteca SharppCap.
Criei um novo projeto com o VC# 2008 e adicionei o SharppCap como referência ao meu projeto. Eu posto um código de exemplo para obter interface do meu PC, mas estou recebendo este erro:
Erro 1 O nome do tipo ou namespace 'PCAPDEVICELIST' não foi possível encontrar (você está perdendo uma diretiva ou referência de montagem?) C: Usuários Ali Documents Visual Studio 2008 Projects PCAP PCAP Form1.CS 28 13 PCAP
Por favor, aconselhe para resolver esse problema.
Aqui está o meu 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++;
}
}
}
}
Solução
Qual versão do sharppcap você está usando?
Estou movendo um pequeno projeto no trabalho de 2.1.1 para 2.4.1, e partes da biblioteca mudaram significativamente. Eu lutei com isso sozinho há um pouco.
LivePcapDeviceList devices = LivePcapDeviceList.Instance;
foreach (LivePcapDevice device in devices)
{
// Do stuff here...
}
Outras dicas
Desculpe pelas mudanças da API. Ainda estou tentando obter a API nomeada corretamente. A partir da v3.0, a API é consideravelmente mais limpa e deve ser um pouco mais estática daqui para frente. Se você tiver algum problema post na lista de desenvolvimento ou nos fóruns do SF e receberá uma resposta rápida.
Receneiro/autor Chris Sharppcaphttp://sharppcap.sf.net
Tente usar Pcap.net. É um invólucro winpcap claro no .NET.