Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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, СтворенняЗахопленняФайл
Невирішений виняток. System.DllNotFoundException: Неможливо завантажити спільну бібліотеку 'libpcap' або одну з її залежностей. Щоб допомогти діагностувати проблеми із завантаженням, розгляньте можливість встановлення LD_DEBUG змінної середовища: liblibpcap: cannot open shared object file: Немає такого файлу чи каталогу
   на SharpPcap.LibPcap.Unix.pcap_findalldevs(IntPtr&alldevs, StringBuilder errorbuf)
   на 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
 Орендодавець| Опубліковано 2025-9-26 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