Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 43222|Ответ: 1

[Источник] .NET Core в процессе захвата трафика на Linux

[Скопировать ссылку]
Опубликовано 19.01.2021 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 errbuf)
   at SharpPcap.LibPcap.LibPcapSafeNativeMethods.pcap_findalldevs(IntPtr&alldevs, StringBuilder errorbuf)
   на SharpPcap.LibPcap.PcapInterface.GetAllPcapInterfaces()
   at 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