Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 43222|Yanıt: 1

[Kaynak] Linux trafik yakalamada .NET Core

[Bağlantıyı kopyala]
2021-1-19 tarihinde 11:50:07 tarihinde yayınlandı | | | |
SharpPcap, canlı ve dosya tabanlı cihazlardan paket yakalamak için tam yönetilen bir platformlar arası (Windows, Mac, Linux) .NET kütüphanesi .NET ile çalışabilen çapraz platform trafik yakalama yazılımıdır.
.net, SharpPcap adlı bir paket yakalama aracı tarafından yazılmıştır
https://www.itsvse.com/thread-2914-1-1.html

GitHub adresi:Bağlantı girişi görünür.

Aşağıdaki C# demo koduna sahip yeni bir .NET Core 3.1 konsol projesi şöyledir:


Projenizi bir Linux sunucusuna yayınlayın (Yayınlama tek bir dosya oluşturacak şekilde ayarlanmamalıdır!! Yayınlama tek bir dosya oluşturacak şekilde ayarlanmamalıdır!! Yayınlama tek bir dosya oluşturacak şekilde ayarlanmamalıdır!!), hata şöyledir:

SharpPcap 5.4.0.0, CaptureFile Oluşturma
Çözülemeyen istisna. System.DllNotFoundException: Paylaşılan kütüphane 'libpcap' veya bağımlılıklarından birini yüklenemiyor. Yükleme sorunlarını teşhis etmek için LD_DEBUG ortam değişkenini ayarlamayı düşünün: liblibpcap: cannot open shared object file: No such file veya directory
   at SharpPcap.LibPcap.Unix.pcap_findalldevs(IntPtr&alldevs, StringBuilder errbuf)
   at SharpPcap.LibPcap.LibPcapSafeNativeMethods.pcap_findalldevs(IntPtr&alldevs, StringBuilder errbuf)
   at SharpPcap.LibPcap.PcapInterface.GetAllPcapInterfaces()
   SharpPcap.LibPcap.LibPcapLiveDeviceList.GetDevices() adresinde.
   SharpPcap.LibPcap.LibPcapLiveDeviceList.Refresh() adresinde
   SharpPcap.LibPcap.LibPcapLiveDeviceList.. ctor()
   at SharpPcap.LibPcap.LibPcapLiveDeviceList.get_Instance()
   at Linux_Packets.Program.Main(String[] args)
İptal edildi (çekirdek atıldı)


Hata, sunucunun libpcap yüklememesinden kaynaklanıyor, sunucu sistemi: CentOS Linux sürüm 8.2.2004 (Çekirdek)

Libpcap resmi web sitesi:Bağlantı girişi görünür.


GCC kurulumu:

Flex Kurulumu:



Flex olmadan, libpcap'ı doğrudan kurmak şu soruyu sorar: konfigürasyon: hata: ne flex ne de lex bulunamadı



Bizon kurmak için:



Eğer kurmazsanız, hata şu şekilde olur:


configure: error: yacc is insufficient to compile libpcap.
libpcap, destekli Berkeley YACC'nin daha yeni bir versiyonu olan Bison'u gerektirir
yeniden giriş parserleri veya onlarla uyumlu başka bir YACC için.
Son olarak, libpcap'i indirip kurun

Libpcap-1.10.0'ın en son sürümünü yüklüyoruz, bu da varsayılan olarak /usr/local/lib dizinine yükleniyor.

Program dizinim /root/dotnet/ Yani, ihtiyacım varYumuşak bağlantılar oluşturun, komut şöyledir:


Unutmayın, programın çalıştırılmadan önce aşağıdaki gibi yürütme izinleri alması gerekir:

Program, aşağıdaki şekilde gösterildiği gibi Linux'ta normal şekilde çalışabilir:



(Son)




Önceki:.NET/C# ile belirtilen sürecin CPU ve bellek kullanımını almak için
Önümüzdeki:OpenTelemetri OpenTracing OpenCensus bilgi toplama ve veri toplama
 Ev sahibi| 2025-9-26 10:53:52 tarihinde yayınlandı |
.NET/C#, Windows'ta paketleri yakalamak ve paketleri değiştirmek için WinDivert kullanır
https://www.itsvse.com/thread-11078-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com