最近需要在C#下写一个抓取ARP包的程序,网上找来找去,在C#下只能用SharpPcap来做了。SharpPcap是作者把winPcap用C#重新封装而来的,详细信息见如下的链接。

SharpPcap教程

我在配置的过程中遇到了一些问题,现在把这些问题的解决方法写下来,以免以后忘了,又开始各种痛苦的调试。

先来看看我的环境:win7旗舰版 、VS2010旗舰版、WinPcap4.1.3、SharpPcap4.2.0。

1.安装Winpcap4.1.3(WinPcap4.1.3下载)

2.解压SharpPcap-4.2.0.bin.zip(SharpPcap4.2.0.bin.zip&&SharpPcap4.2.0.src.zip下载)解压后打开debug文件夹,可以看到里面有两个dll文件,这就是我们程序中要用到的东西。SharpPcap-4.2.0.src.zip压缩包中,包含SharpPcap的所有源代码和一些示例程序。

3.打开VS2010,新建一个C#的控制台项目。

4.然后单击“项目”下拉菜单,选择 “添加引用”,在弹出的对话框中单击 “浏览” 选项卡,然后选择第2步中SharpPcap-4.2.0.bin.zip解压后的路径,然后将debug中的SharpPcap.dll添加进去。

5.将下面的代码,粘贴到你的项目中,测试配置是否成功,如果成功则会显示你的网络适配器的信息。

using System;
using System.Collections.Generic;using SharpPcap;namespace Example1
{/// <summary>/// Obtaining the device list/// </summary>public class IfListAdv{/// <summary>/// Obtaining the device list/// </summary>public static void Main(string[] args){// Print SharpPcap versionstring ver = SharpPcap.Version.VersionString;Console.WriteLine("SharpPcap {0}, Example1.IfList.cs", ver);// Retrieve the device listvar devices = CaptureDeviceList.Instance;// If no devices were found print an errorif(devices.Count < 1){Console.WriteLine("No devices were found on this machine");return;}Console.WriteLine("\nThe following devices are available on this machine:");Console.WriteLine("----------------------------------------------------\n");/* Scan the list printing every entry */foreach(var dev in devices)Console.WriteLine("{0}\n",dev.ToString());Console.Write("Hit 'Enter' to exit...");Console.ReadLine();}}
}

需要注意的问题:

1.如果你要用SharpPcap3.5,那么你在新建项目时.Net FrameWork 要选成3.5,(vs2010默认是4.0),否则运行时会出现错误。

2.如果你用的是SharpPcap高版本的dll,测试示例程序时最好不要用低版本的,否则可能会出错。楼主测试的时候,dll用的是SharpPcap4.2的,示例程序用的是SharpPcap3.5的,生成时会出现错误。

在 Visual Studio 2010 中配置SharpPcap相关推荐

  1. 详解Visual Studio 2010中QT环境搭建配置

    本文将介绍如何在Visual Studio 2010中配置Qt这个跨平台应用程序和UI开发框架. QT简介 Qt是一个跨平台应用程序和UI开发框架.它包括跨平台类库.集成开发工具和跨平台 IDE.使用 ...

  2. 一起谈.NET技术,Visual Studio 2010 中的代码约定设置

    软件约定称为代码约定,通过这一约定可以表示代码正常工作所需的正式条件. 如果方法未按预期收到数据或生成的数据不符合预期的后置条件,代码约定将导致代码引发异常. 有关前置条件和后置条件的概述,您可能需要 ...

  3. 在Visual Studio 2010中创建多项目(解决方案)模板【三】

    前文回顾: 在Visual Studio 2010中创建多项目(解决方案)模板[一]:多项目解决方案模板的创建 在Visual Studio 2010中创建多项目(解决方案)模板[二]:Templat ...

  4. 如何在Visual Studio 2010中使用CppUTest建立TDD的Code Kata的环境

    CppUTest 是一个功能全面的测试框架,是为了支持在多种操作系统上开发嵌入式软件而特别设计的.CppUTest的宏被设计成不需要了解C++也可以写测试用例.这使得C程序员更容易用这个测试框架. 那 ...

  5. VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件

    VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件 目录 问题探究 图文教程 问题探究 使用Visual Studio ...

  6. Visual Studio 2010中C++项目升级指南

    如何升级? Visual Studio 2010支持来自VC6.Visual Studio 2002.Visual Studio 2003.Visual Studio 2005和Visual Stud ...

  7. 在Visual Studio 2010 中使用菱形向导对窗口进行布局

    "一个移动机器人,需要花大量的时间来进行运算,才可以避开环境中的简单的障碍物.人类也一样,只不过他们从未意识到罢了-直到光明消失在地平线.伴随着痛苦,他们才真正体会到需要进行的运算有多少.& ...

  8. Visual Studio 2010 中JS注释制作

    Visual Studio 2010中的js注释已经很强大了,但怎么才能和调用c#的方法一样容易呢?怎样才能让每个参数都有注释说明呢?底下就是想要的答案. 先上图,如图所示: 其中红色的办法为注释效果 ...

  9. 图解Visual Studio 2010中的UML建模功能

    Visual Studio 2010在架构和项目管理方面的功能增加让人眼前一亮,之前曾详细介绍过Visual Studio 2010新增的架构工具,包括通过可视化技术DGML提供直观的图表,依赖图,继 ...

  10. [DX10游戏教程(C++)]教程1:在Visual Studio 2012中配置DirectX 10

    文章为hhhhhhhhhhkkkkkkkkkk原创,转载请注明出处http://blog.csdn.net/hhhhhhhhhhkkkkkkkkkk/article/details/12278985 ...

最新文章

  1. 第一轮通知 | 2022年中国生物物理学会肠道菌群分会年会暨“崂山论肠菌”学术论坛...
  2. deepin-wine-qq无法加载图片解决方案
  3. VISUAL STUDIO 2019 快捷键
  4. java jsoup解析html标签_Java中使用 jsoup 提取本地HTML页面的标签内容
  5. python3 django连接mysql 数据库
  6. Idea中Spring整合MyBatis框架中配置文件中对象注入问题解决方案
  7. open vswitch_Linux Foundation采用Open vSwitch,定义了“开放”和更多开源新闻
  8. php 缩略图不失真,c#生成缩略图不失真的方法实例分享
  9. 【Java】关于学习while do-while for循环知识点的总结
  10. Lambda 表达式浅谈- 01
  11. 二叉树的前中后层遍历
  12. 自动驾驶_感知_目标检测(激光雷达)
  13. 一款Mac平台上自带广告拦截功能插件的浏览器软件
  14. 学习数据库系统概念,设计及应用心得
  15. wampServer虚拟主机配置
  16. Sublime Text 2 设置文件详解转
  17. 面试的时候,如何做自我介绍?
  18. C语言lseek()函数和 fseek()函数 rewind函数
  19. html和php网站哪个好,HTML和PHP网站设计实例
  20. 谢菲尔德大学计算机科学学院地理位置,2020年谢菲尔德大学在哪里及校区详细地址介绍...

热门文章

  1. sklearn库里几种回归模型
  2. python关闭文件-python_文件的打开和关闭
  3. hibernate 入门案例
  4. DDFE 技术周刊(第十期)2017.1.9
  5. ECMAScript6 新特性——“数组的扩展”
  6. Knockout应用开发指南 第二章:监控属性(Observables)
  7. 备份outlook的时候,请不要忘记同时备份Outlook.NK2文件
  8. UBNT Bullet M2说明书
  9. C# SyncDictionary类
  10. 编辑器扩展之Inspector面板可视化调整