![](https://csdnimg.cn/release/download_crawler_static/86284664/bg1.jpg)
实 验 十二 网络抓包工具 SharpPCap
12.1 实验目的
多种网络协议规定计算机各自目的下的通信,网络数据在网络设备上是透明及广播的传输
方式,极易被截获甚至被伪造,网络通信不够稳定更受到各种攻击的威胁。本实验介绍采用
SharpPCap 工具包进行网络数据抓包的方法,加深对网络安全威胁的理解。
12.2 开发工具与网络协议
12.2.1 抓包工具 SharpPCap
网络抓包又叫包嗅探,它能够获取经过指定网卡的所有数据包,进行网络监探包分析和安
全工具任务,比较出名的网络嗅探软件有 Sniffer 和 WireShark。包嗅探程序开发包有 UNIX 平
台的 libpcap 库和 Windows 平台的 WinPcap 库,它们提供开发低层网络监听功能的 API。
SharpPcap 是 SourceForge 的一个开源项目,它提供了.NET 平台下的基于 libpcat/WinPcap
库的开发包,其中 API 包括网络包捕获、注入、分析包构造功能。用户可到 sourceforge.net 网站
下载 SharpPcap 项目文件,它包括了必要的程序开发包和示例的源代码文件。SharpPcap 基于
WinPcap 和 AirPcap 驱动,winpcap 是 windows 平台包捕获驱动,AirPcap 专门用于 Windows
平台的的无线网络包捕获。SharpPcap 支持解析和构造数据包的网络协议有 Ethernet、IPv4 和
IPv6、Tcp、Udp、ARP、ICMP、PPPoE 等,它还能指定条件对数据包进行过滤。
使用 SharpPcap 开发包捕获项目需要引用开发库 PacketDotNet.dll 和 SharpPcap.dll 文件,
SharpPcap 负责调用 libpcap/winpcap 驱动,要安装 WinPcap 驱动包,PacketDotNet 实现数
据包解析与构造,在源程序中则要添加命名空间 PacketDotNet 和 SharpPcap。
12.2.2 地址解析协议 ARP
计算机通信软件使用 TCP/IP 协议进行通信用 IP 地址标识网络端点,以太网设备比如网
卡都有自己全球唯一的 MAC 地址,在局域网内是以 MAC 地址来传输以太网数据包的,在以
太网中进行 IP 通信就需要一个协议来建立 IP 地址与 MAC 地址的对应关系,IP 数据包才能发
送出去,这个协议就是 ARP(Address Resolution Protocol,地址解析协议) 协议。ARP 将网络
层地址解析为数据链路层的物理地址。
计算机 A 要和目标机器 B 通信的时候,首先检查 arp 缓存,查找是否有对应的 arp 条目,
如果没有,计算机 A 广播一个 ARP 请求报文(携带主机 A 的 IP 地址 Ia——物理地址 Pa),
请求 IP 地址为 Ib 的主机 B 回答物理地址 Pb,网络中每台主机都收到这个请求包,只有主机
1