sharppcap
Please see nuget for releases
라이브 및 파일 기반 장치에서 패킷을 캡처하기위한 완전히 관리되는 크로스 플랫폼 (Windows, Mac, Linux) .NET 라이브러리
공식 SharpPCap 저장소.
패킷 해부 및 생성은 Packet.net을 참조하십시오.
Linux에서는 libpcap을 지원합니다
Windows에서 다음을 지원합니다.
모든 플랫폼에서 :
Nativelibrary 지원
.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를 사용하여 작업 예제를 표시하므로 훌륭한 리소스입니다.