簡體   English   中英

如何跟蹤C#中的NIC活動? 具體通過端口進/出

[英]How can I track NIC activity in C#? Specifically ingress/egress by port

我需要在C#中跟蹤每個應用程序通過端口發送和接收的數據量。

使用正確的API或.NET對象是什么?

性能監視器( perfmon )公開的數據可以通過HKEY_PERFORMANCE_DATA輕松地提供給應用程序。 但是,它不包含您需要的詳細程度。

資源監視器( resmon )確實按進程顯示網絡活動(盡管不是按端口顯示),並且它使用Windows事件跟蹤(ETW)。 要在您的應用中重現resmon數據,您需要從ETW捕獲事件並自己匯總總數。 我不知道跟蹤數據是否包含足夠的信息以按端口號細分總數,但如果不這樣做,我會感到驚訝。 ETW數據通常非常詳細。 但是,我認為不支持在.Net中使用ETW數據。 ETW可以以非常高的速率生成事件,因此最好編寫一個本機DLL來使用和聚集數據。

一個更簡單的選擇是找到現有工具。 這是一個起點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM