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.
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)
|