Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 43222|Resposta: 1

[Fonte] .NET Core na captura de tráfego Linux

[Copiar link]
Postado em 19-01-2021 às 11:50:07 | | | |
SharpPcap é um software de captura de tráfego multiplataforma que pode operar com .NET, uma biblioteca .NET totalmente gerenciada e multiplataforma (Windows, Mac, Linux) para capturar pacotes de dispositivos ativos e baseados em arquivos.
.net é escrito pelo SharpPcap, uma ferramenta de captura de pacotes
https://www.itsvse.com/thread-2914-1-1.html

Endereço do GitHub:O login do hiperlink está visível.

Um novo projeto de console .NET Core 3.1 com o seguinte código demo em C# é o seguinte:


Publique seu projeto em um servidor Linux (A publicação não deve ser configurada para gerar um único arquivo!! A publicação não deve ser configurada para gerar um único arquivo!! A publicação não deve ser configurada para gerar um único arquivo!!), o erro é o seguinte:

SharpPcap 5.4.0.0, CreatingCaptureFile
Exceção não resolvida. System.DllNotFoundException: Não é possível carregar a biblioteca compartilhada 'libpcap' ou uma de suas dependências. Para ajudar a diagnosticar problemas de carregamento, considere definir a variável de ambiente LD_DEBUG: liblibpcap: não pode abrir arquivo de objeto compartilhado: Não existe tal arquivo ou diretório
   em SharpPcap.LibPcap.Unix.pcap_findalldevs(IntPtr& alldevs, StringBuilder errbuf)
   at SharpPcap.LibPcap.LibPcapSafeNativeMethods.pcap_findalldevs(IntPtr& alldevs, StringBuilder errbuf)
   em SharpPcap.LibPcap.PcapInterface.GetAllPcapInterfaces()
   em SharpPcap.LibPcap.LibPcapLiveDeviceList.GetDevices()
   em SharpPcap.LibPcap.LibPcapLiveDeviceList.Refresh()
   em SharpPcap.LibPcap.LibPcapLiveDeviceList.. ctor()
   em SharpPcap.LibPcap.LibPcapLiveDeviceList.get_Instance()
   em Linux_Packets.Program.Main(String[] args)
Abortado (descarregado do núcleo)


O erro é causado porque o servidor não instala o libpcap, servidor sistema: CentOS Linux release 8.2.2004 (Core)

Site oficial do libpcap:O login do hiperlink está visível.


Instalação do GCC:

Instalando o Flex:



Sem o flex, instalar o libpcap diretamente vai solicitar: configure: erro: nem o flex nem o lex foram encontrados



Para instalar bisões:



Se você não instalar, o erro será o seguinte:


configure: error: yacc is insufficient to compile libpcap.
libpcap requer o Bison, uma versão mais nova do Berkeley YACC com suporte
para parsers reentrantes, ou outro YACC compatível com eles.
Por fim, baixe e instale libpcap

Instalamos a versão mais recente do libpcap-1.10.0, que é instalada por padrão no diretório /usr/local/lib.

Meu diretório de programas é /root/dotnet/ Então, precisoCrie conexões suaves, o comando é o seguinte:


Lembre-se de que o programa precisa receber permissões de execução antes de poder ser executado, conforme segue:

O programa pode rodar normalmente no Linux, como mostrado na figura abaixo:



(Fim)




Anterior:.NET/C# para obter o uso de CPU e memória do processo especificado
Próximo:OpenTelemetry OpenTracing, coleta de informações e dados do OpenCensus
 Senhorio| Postado em 26-09-2025 às 10:53:52 |
.NET/C# usa WinDivert para capturar e modificar pacotes no Windows
https://www.itsvse.com/thread-11078-1-1.html
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com