私は、特定の時点でインターネット接続を使用しているマシン/サーバのアプリケーションと、可能であればどのくらいの帯域幅を使用しているかをC#で確認したいと考えています。誰も私がこれに頭をスタートさせるのを助けることができますか?.netでインターネットの使用を監視する
答えて
私が見つけたのは非常に便利なツールとしてがありました。私のアプリケーションには私のアプリケーションで使うことができるAPIがあるかどうかはまだチェックしていません。必要な情報
ありがとうございました。
こんにちは、何かを見つけましたか? –
私はコメントが小さすぎるので答えを書くことにしました。
まあ、stackoverflowの他のQ & Aを読んで、インターネット上を見て、あなたの問題のための簡単な解決策を見つけることができませんでした。
実際には、.NETプロセスのためにあなただけのから情報を取得する必要が、本当に簡単です - このQ&A
しかし、一般的にに示すように、パフォーマンスカウンタを「.NET CLRネットワーク送信受信バイト/バイト」プロセスごとに使用される帯域幅を取得するのは簡単な作業ではありません。たとえばについては
おそらくそれは彼ら(または同様のものを使用してプロセスとIPポートのペアをマップするため、「Microsoftネットワークモニタ」スニファは、唯一のTCPトラフィックのためのインターネットパケットを生成プロセスをトレースすることができ、TCPはそれconnected protocolです簡単です)。
もしあなたがそれを試してみたいのであれば、公開されたAPIを使用することができます(いくつかのヒントについてはthisブログエントリをご覧ください)。しかし
、これらQに& Aさん(LINK 1、LINK 2)、右を示唆し、そしておそらく唯一の方法は、ネットワークトラフィックを傍受し、それに.NET呼び出し可能なAPIを暴露することができますNDIS/TDIドライバを書くことであるとして、 。
問題は、このようなドライバはマネージコードで記述できないため、C/C++で実装する必要があることです。
明らかに、すでに書かれたドライバ/スニファを呼び出して呼び出し可能なAPIを公開している場合は、それを使うことができます。
たとえば、WinPCapにはSharpPCapまたはPCap.Netのような.NETラッパーが1つありますが、(わからない)パケットのソースプロセス情報を取得することはできません。
digEmAllが指摘しているように、Vista以前のWindowsでは、自分のドライバの作成やサードパーティー製のものを使用することになります。 Vista、2008およびWindows 7では、GetPerTcpConnectionEStats
APIを使用することができます(MSDNページでの使用例が多数あります)。リソースモニタは、このAPIと、より古いネットワーク統計情報のための古いGetTcpTable
/GetTcpRow
APIに依存しています。
- 1. C++のインターネット使用状況監視ツール
- 2. インターネット活動を監視する
- 3. .NET用パフォーマンスと監視ツール
- 4. .NETでGTalkでインスタントメッセージを監視する
- 5. 監視インターネット接続のたびアプリが
- 6. .NETアプリケーションのパフォーマンス監視/メトリック
- 7. .NETを使用してリアルタイムデータをWebサービスで監視する方法
- 8. .NETコア2.0を使用してWindows上のファイルの変更を監視する
- 9. 送受信インターネット接続を監視する方法
- 10. アプリケーション間の.NET Remoting通信を監視するツールですか?
- 11. インターネット活動を監視していますか?
- 12. Intermapperを使用したPostgresの監視
- 13. .netコードでAzureDataFactoryパイプラインを監視する方法
- 14. オープンソースツールを使用してコンフルエントカフカを監視
- 15. Androidスタジオでメモリの使用を監視する方法
- 16. ターミナルサーバーでCPUコアの使用状況を監視する
- 17. PythonでApp EngineのCPU使用量を監視する
- 18. C#でマイクの使用を監視する
- 19. リアルタイムでJVMのヒープ使用量を監視する
- 20. .NET Remoting:サーバー上のイベントを監視する
- 21. IISのサイト再コンパイルを監視する.NET 3.5
- 22. 複数のプロジェクトを監視するメモリプロファイラを使用する
- 23. DockerContainer内でzabbixを使用してサーバーを監視する
- 24. Webページからインターネットの帯域幅を監視する方法は?
- 25. dotMemoryUnitでピークメモリ使用量を監視する
- 26. .Net WMI <Blah>ディレクトリを監視するChangeEvent
- 27. .NETからOutlookメール受信イベントを監視する方法
- 28. Marklogicアクセス用の監視コンソール
- 29. Nginxを監視するためにngxtopを使用する
- 30. EventFlowを使用してローカルマシンのETWイベントを監視する
これは役に立つかもしれません - > http://stackoverflow.com/questions/566139/detecting-network-connection-speed-and-bandwidth-usage-in-c – digEmAll
また、このq&aを見てください:http: //stackoverflow.com/questions/442409/c-bandwidth – digEmAll
洞察のために@digに感謝します。私はこれが役に立つスタートだと思う。これを答えに変換して、それを1つにすることができます。 – samar