この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 43222|答える: 1

[出典] Linuxにおける.NET Coreトラフィックキャプチャ

[リンクをコピー]
2021年1月19日 11:50:07に投稿 | | | |
SharpPcapは、.NETという完全管理型クロスプラットフォーム(Windows、Mac、Linux).NETライブラリと連携して動作するクロスプラットフォームトラフィックキャプチャソフトウェアで、ライブおよびファイルベースのデバイスからのパケットをキャプチャします。
.netはパケットキャプチャツールであるSharpPcapによって書かれています
https://www.itsvse.com/thread-2914-1-1.html

GitHubアドレス:ハイパーリンクのログインが見えます。

以下のC#デモコードを含む新しい.NET Core 3.1コンソールプロジェクトは以下の通りです:


プロジェクトをLinuxサーバーに公開してください(公開は単一のファイルを生成するように設定してはいけません!! 公開は単一のファイルを生成するように設定してはいけません!! 公開は単一のファイルを生成するように設定してはいけません!!誤差は以下の通りです:

SharpPcap 5.4.0.0、CreatingCaptureFile
未処理例外。 System.DllNotFoundException:共有ライブラリ「libpcap」またはその依存関係のいずれかを読み込めません。 読み込み問題の診断を助けるために、LD_DEBUG環境変数を設定することを検討してください:liblibpcap: shared object file not open shared object file: no such file or 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()
   at SharpPcap.LibPcap.LibPcapLiveDeviceList.GetDevices()
   SharpPcap.LibPcap.LibPcapLiveDeviceList.Refresh()
   SharpPcap.LibPcap.LibPcapLiveDeviceList.. クター()
   SharpPcap.LibPcap.LibPcapLiveDeviceList.get_Instance()
   Linux_Packets.Program.Main(String[] args)
中止(コアダンプ)


このエラーは、サーバーがlibpcapをインストールしていないために発生しています。サーバーシステム:CentOS Linuxリリース8.2.2004(Core)です。

LIBBCAP公式ウェブサイト:ハイパーリンクのログインが見えます。


GCCのインストール:

フレックスの設置:



flexを使わずにlibpcapを直接インストールすると、次のように表示されます:configure: error: flexもlexも見つかりませんでした



バイソンの設置方法:



インストールしなければ、エラーは以下のようになります:


configure: error: yacc is insufficient to compile libpcap.
libpcapはBisonを必要とします。BisonはBerkeley YACCの新しいバージョンでサポート付きです
リエントラントパーサーや、それらに対応する他のYACCに対して。
最後に、libpcapをダウンロードしてインストールします

libpcap-1.10.0の最新バージョンをインストールしており、デフォルトで/usr/local/libディレクトリの下にインストールされています。

私のプログラムディレクトリは /root/dotnet/ なので、必要なんですソフトなつながりを作る、命令は以下の通りです:


プログラムを実行する前に実行権限が付与されている必要があることを覚えておいてください。以下のように。

このプログラムは以下の図のようにLinux上で通常通り動作可能です:



(終わり)




先の:.NET/C# で指定されたプロセスのCPUおよびメモリ使用量を取得するために使われます
次に:OpenTelemetry OpenTracing OpenCensusの情報収集およびデータ収集
 地主| 2025年9月26日 10:53:52 に投稿 |
.NET/C#はWindows上でパケットのキャプチャや変更にWinDivertを使用しています
https://www.itsvse.com/thread-11078-1-1.html
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com