sharppcap
Please see nuget for releases
完全に管理されたクロスプラットフォーム(Windows、Mac、Linux).NETライブラリライブおよびファイルベースのデバイスからパケットをキャプチャするためのネットライブラリ
公式のSharppcapリポジトリ。
パケットの解剖と作成については、packet.netを参照してください。
Linuxでは、libpcapのサポート
Windowsでは、サポート:
すべてのプラットフォームで:
ナチベリバリサポート
.NETコア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を使用して作業例を示しているため、優れたリソースでもあります。