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顯示了工作示例。