SharpPcap е кросплатформен софтуер за улавяне на трафик, който може да работи с .NET – напълно управлявана кросплатформена (Windows, Mac, Linux) .NET библиотека за улавяне на пакети от живи и файлови устройства.
GitHub адрес:Входът към хиперлинк е видим.
Нов проект за .NET Core 3.1 конзола със следния демо код на C# е следният:
Публикувай проекта си на Linux сървър (Публикуването не трябва да бъде настроено да генерира един файл!! Публикуването не трябва да бъде настроено да генерира един файл!! Публикуването не трябва да бъде настроено да генерира един файл!!), грешката е следната:
SharpPcap 5.4.0.0, СъздаванеCaptureFile Необработено изключение. System.DllNotFoundException: Не може да се зареди споделената библиотека 'libpcap' или някоя от нейните зависимости. За да помогнете при диагностициране на проблеми с зареждането, помислете за задаване на променливата LD_DEBUG среда: liblibpcap: cannot open shared object file: Няма такъв файл или директория at SharpPcap.LibPcap.Unix.pcap_findalldevs(IntPtr&alldevs, StringBuilder errorbuf) at SharpPcap.LibPcap.LibPcapSafeNativeMethods.pcap_findalldevs(IntPtr&alldevs, StringBuilder errorbuf) в 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 (Core)
Официален уебсайт на libpcap:Входът към хиперлинк е видим.
Инсталиране на GCC:
Инсталиране на Flex:
Без flex, инсталирането на libpcap директно ще поиска: configure: error: Нито flex, нито lex бяха намерени
За инсталиране на бизон:
Ако не го инсталирате, грешката ще бъде следната:
configure: error: yacc is insufficient to compile libpcap. libpcap изисква Bison, по-нова версия на Berkeley YACC с поддръжка за реентрантни парсери или друг YACC, съвместим с тях. Накрая, изтеглете и инсталирайте libpcap
Инсталираме последната версия на libpcap-1.10.0, която по подразбиране е инсталирана в директорията /usr/local/lib.
Програмната ми директория е /root/dotnet/ Така че, трябваСъздаване на меки връзки, командата е следната:
Запомнете, че програмата трябва да получи разрешения за изпълнение, преди да може да бъде изпълнена, както следва:
Програмата може да работи нормално на Linux, както е показано на фигурата по-долу:
(Край)
|