在 Visual Studio 2010 中配置SharpPcap

來源:互聯網
上載者:User

標籤:style   http   color   io   os   ar   for   檔案   sp   

最近需要在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 version            string ver = SharpPcap.Version.VersionString;            Console.WriteLine("SharpPcap {0}, Example1.IfList.cs", ver);            // Retrieve the device list            var 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;            }            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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.