Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 43222|Отговор: 1

[Източник] .NET Core в улавянето на трафик в Linux

[Копирай линк]
Публикувано на 2021-1-19 11:50:07 | | | |
SharpPcap е кросплатформен софтуер за улавяне на трафик, който може да работи с .NET – напълно управлявана кросплатформена (Windows, Mac, Linux) .NET библиотека за улавяне на пакети от живи и файлови устройства.
.net се пише от SharpPcap, инструмент за улавяне на пакети
https://www.itsvse.com/thread-2914-1-1.html

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, както е показано на фигурата по-долу:



(Край)




Предишен:.NET/C# за получаване на използването на процесора и паметта на посочения процес
Следващ:OpenTelemetry OpenTracing Събиране на информация и данни от OpenCensus
 Хазяин| Публикувано на 26.09.2025 10:53:52 |
.NET/C# използва WinDivert за улавяне на пакети и модифициране на пакети в Windows
https://www.itsvse.com/thread-11078-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com