이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 43222|회답: 1

[출처] 리눅스 트래픽 캡처에서의 .NET 코어

[링크 복사]
2021-1-19 11:50:07에 게시됨 | | | |
SharpPcap은 .NET과 함께 동작할 수 있는 크로스 플랫폼 트래픽 캡처 소프트웨어로, .NET은 실시간 및 파일 기반 장치에서 패킷을 캡처하는 완전 관리형 크로스 플랫폼(Windows, Mac, Linux) .NET 라이브러리입니다.
.net은 패킷 캡처 도구인 SharpPcap으로 작성되었습니다
https://www.itsvse.com/thread-2914-1-1.html

GitHub 주소:하이퍼링크 로그인이 보입니다.

다음과 같은 C# 데모 코드가 포함된 새로운 .NET Core 3.1 콘솔 프로젝트는 다음과 같습니다:


프로젝트를 리눅스 서버에 게시하세요 (퍼블리싱은 단 하나의 파일을 생성하도록 설정해서는 안 됩니다!! 퍼블리싱은 단 하나의 파일을 생성하도록 설정해서는 안 됩니다!! 퍼블리싱은 단 하나의 파일을 생성하도록 설정해서는 안 됩니다!!), 오차는 다음과 같습니다:

SharpPcap 5.4.0.0, 캡처파일 생성
처리되지 않은 예외. System.DllNotFoundException: 공유 라이브러리 'libpcap' 또는 그 의존성 중 하나를 로드할 수 없습니다. 로딩 문제를 진단하는 데 도움이 되려면, LD_DEBUG 환경 변수를 설정하는 것을 고려해 보세요: liblibpcap: shared object file not open for shared object file: no such file or directory
   at SharpPcap.LibPcap.Unix.pcap_findalldevs(IntPtr&alldevs, StringBuilder errbuf)
   at SharpPcap.LibPcap.LibPcapSafeNativeMethods.pcap_findalldevs(IntPtr& alldevs, StringBuilder errbuf)
   at SharpPcap.LibPcap.PcapInterface.GetAllPcapInterfaces()
   SharpPcap.LibPcap.LibPcapLiveDeviceList.GetDevices()
   SharpPcap.LibPcap.LibPcapLiveDeviceList.Refresh()
   SharpPcap.LibPcap.LibPcapLiveDeviceList.. ctor()
   SharpPcap.LibPcap.LibPcapLiveDeviceList.get_Instance()
   Linux_Packets.Program.Main(String[] args)
중단 (코어 덤프)


이 오류는 서버가 libpcap을 설치하지 않기 때문에 발생하며, 서버 시스템: CentOS Linux 릴리스 8.2.2004 (코어)

LibbCAP 공식 웹사이트:하이퍼링크 로그인이 보입니다.


GCC 설치:

플렉스 설치:



flex가 없으면 libpcap을 직접 설치하면 다음과 같은 메시지가 뜨습니다: configure: error: flex와 lex를 모두 찾지 못했습니다



들소를 설치하려면:



설치하지 않으면 다음과 같은 오류가 발생합니다:


configure: error: yacc is insufficient to compile libpcap.
libpcap은 Bison을 필요로 하며, 이는 버클리 YACC의 최신 버전이며 지원합니다
재진입 파서나 이들과 호환되는 다른 YACC 파서에 대해 말이죠.
마지막으로 libpcap을 다운로드하고 설치하세요

우리는 기본적으로 /usr/local/lib 디렉터리에 설치된 최신 버전의 libpcap-1.10.0을 설치합니다.

제 프로그램 디렉터리는 /root/dotnet/입니다.부드러운 연결을 만드세요, 명령어는 다음과 같습니다:


프로그램이 실행되기 전에 실행 권한이 부여되어야 한다는 점을 기억하세요:

이 프로그램은 아래 그림과 같이 리눅스에서 정상적으로 실행될 수 있습니다:



(끝)




이전의:.NET/C# 는 지정된 프로세스의 CPU 및 메모리 사용량을 얻기 위해 사용됩니다
다음:OpenTelemetry OpenTracing OpenCensur 정보 수집 및 데이터 수집
 집주인| 2025-9-26 10:53:52에 게시됨 |
.NET/C#은 윈도우에서 패킷을 캡처하고 수정하기 위해 WinDivert를 사용합니다
https://www.itsvse.com/thread-11078-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com