sharppcap
Please see nuget for releases
完全管理的跨平台(Windows,Mac,Linux).NET库,用于从实时和文件的设备捕获数据包
官方的SharppCap存储库。
有关数据包解剖和创建,请参见Packet.net。
在Linux上,支持LIBPCAP
在Windows上,支持:
在所有平台上:
纳塔维尔元素支持
.NET Core 3和.NET框架支持
请参阅示例文件夹,以获取使用SharppCap的一系列完整示例项目
var devices = CaptureDeviceList . Instance ;
foreach ( var dev in devices )
Console . WriteLine ( "{0} n " , dev . ToString ( ) ) ; void Device_OnPacketArrival ( object s , PacketCapture e )
{
Console . WriteLine ( e . GetPacket ( ) ) ;
}
using var device = LibPcapLiveDeviceList . Instance [ 0 ] ;
device . Open ( ) ;
device . OnPacketArrival += Device_OnPacketArrival ;
device . StartCapture ( ) ; void Device_OnPacketArrival ( object s , PacketCapture e )
{
Console . WriteLine ( e . GetPacket ( ) ) ;
}
using var device = new CaptureFileReaderDevice ( "filename.pcap" ) ;
device . Open ( ) ;
device . OnPacketArrival += Device_OnPacketArrival ;
device . Capture ( ) ; using var device = new CaptureFileWriterDevice ( "somefilename.pcap" , System . IO . FileMode . Open ) ;
var bytes = new byte [ ] { 1 , 2 , 3 , 4 } ;
device . Write ( bytes ) ;由于几个原因,我们支持许多CI系统:
SharppCap通过Nuget发布
SharppCap是今天的位置,因为许多开发人员提供了通过问题和功能请求提供有用的反馈的改进,修复和用户。
我们特别感谢我们构建的许多项目(因为SharppCap是C#包装器):
我们希望您会发现6.x API更清洁且易于使用。
6.0带来了许多清理,这些清理为5.x用户带来了API破裂。
为了帮助从5.x到6.0的迁移,这是您必须对SharppCap使用的一些更改的列表。
这些示例也是一个很好的资源,因为它们使用最新的API显示了工作示例。