SharpPcap问题

时间:2010-02-03 03:54:53

标签: c# sharppcap

这是我第一次使用SharpPcap库。

我使用VC#2008创建了新项目,并添加了SharpPcap作为我项目的参考。 我发布了一个示例代码来获取我的电脑界面,但是我收到了这个错误:

错误1找不到类型或命名空间名称'PcapDeviceList'(您是否缺少using指令或程序集引用?)C:\ Users \ Ali \ Documents \ Visual Studio 2008 \ Projects \ Pcap \ Pcap \ Form1 .cs 28 13 Pcap

请建议解决这个问题。

这是我的代码:

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++;
            }
        }
    }
}

3 个答案:

答案 0 :(得分:5)

您使用的是什么版本的SharpPcap?

我正在将一个小型的在职项目从2.1.1移动到2.4.1,并且部分库已经发生了重大变化。不久之前,我一直在努力解决这个问题。

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

答案 1 :(得分:4)

抱歉API更改。我仍然试图让API正确命名。从v3.0开始,API相当简洁,未来应该更加静态。如果您在开发列表或sf论坛上发布任何问题,您将得到快速回复。

克里斯 SharpPcap维护者/作者 http://sharppcap.sf.net

答案 2 :(得分:-1)

尝试使用Pcap.Net。它是.NET中一个清晰的WinPcap包装器。