SharpPCap 封包攔截程式的設計

基礎篇

C# 簡介

開發環境

變數與運算

流程控制

陣列

函數

物件

例外處理

函式庫篇

檔案處理

資料結構

正規表達式

Thread

應用篇

視窗程式

媒體影音

網路程式

遊戲程式

手機程式

資料庫

雲端運算

特殊功能

委派

擴展方法

序列化

LinQ

WPF

網路資源

教學影片

投影片

教學文章

軟體下載

考題解答

101習題

簡介

在區域網路的設計上,為了節省線路成本,通常會使用廣播式的網路。像是目前最常用的乙太網路 (EtherNet) 就是一種廣播式區域網路。

在廣播式的網路當中,封包 (Packet) 一傳出去之後,所有的電腦都可以接收。只是作業系統通常會過濾掉不應接收的封包,只收下傳送給自己這台電腦的封包。但是,如果您真正想收下這些封包,也不是不可能,著名的網路封包監控軟體 Wireshark 就能收下這些封包並進行分析。而 Wireshark 所使用的接收元件,正是一個稱為 WinPCap 的程式。

WinPCap 是使用 Windows 系統呼叫所做出來的程式,因此是以 C++ 所寫成的,為了讓 C# 等 .NET 平台的程式也能用這些函式庫。有人設計了 SharpPcap 這個介面程式,將 WinPCap 封裝起來給 C#, VB 等高階的 .NET 語言使用。本文將介紹如何在 C# 當中使用 SharpPcap 函式庫,以實際範例說明攔截封包的方法,讓讀者能用 C# 程式抓到區域網路上的所有封包。

參考文獻

  1. WinPCap
  2. SharpPcap
  3. jPCap
  4. SharpPcap tutorial: a step by step guide to using SharpPcap
  5. Tamir Gal : SharpPcap
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License