내 컴퓨터/서버의 특정 응용 프로그램이 특정 시점에 인터넷 연결을 사용하고 가능한 경우 얼마나 많은 대역폭을 사용하고 있는지 확인하기 위해 C#에서 메소드를 작성하려고합니다. 누구든지이 일을 시작할 수 있도록 도와 주실 수 있습니까?.net에서 인터넷 사용을 모니터링합니다.
답변
찾았습니다. 프로세스 모니터 매우 유용한 도구로 사용되었습니다. 그래서 내 응용 프로그램에서 사용할 수있는 API를 제공하는지 여부를 아직 확인하지 않았지만 코드를 작성하지 않아도되었습니다. 필요한 정보.
나를 도와 주신 모든 분들께 감사드립니다.
안녕하세요, 아무것도 찾았습니까? –
의견이 너무 작기 때문에 답변을 작성하기로했습니다.
음, stackoverflow에서 다른 Q & A를 읽고 인터넷을 둘러 보면서 나는 당신의 문제에 대한 간단한 해결책을 찾지 못했습니다.
는 사실, 정말 간단 .NET 프로세스, 당신은 단지 에서 정보를 검색해야 ".NET CLR 네트워킹 -받은 바이트/보낸 바이트" 성능 카운터,이 Q&A
에 그러나 일반적으로 같이 , 프로세스 별 사용 대역폭을 얻는 것은 쉬운 일이 아닙니다. 예를 를 들어
는 "Microsoft 네트워크 모니터"아마도 그들 (또는 유사한 것을 사용하여 프로세스와 IP 포트 쌍을 매핑하기 때문에, 단지 TCP 트래픽에 대한 인터넷 패킷을 생성하는 과정을 추적 할 수 스니퍼, TCP 그래서 그것을 connected protocol입니다 더 간단합니다.)
어쨌든 노출시키려는 API를 사용할 수 있습니다 (일부 힌트는 this 블로그 항목 참조).
그러나 이러한 질문에 제안 & A의 (LINK 1, LINK 2), 권리, 그리고 아마도 유일한 방법은, 네트워크 트래픽과에 .NET 호출 API를 노출을 가로 챌 수있는 NDIS/TDI 드라이버를 작성하는 것입니다 .
문제는 이러한 드라이버는 관리되는 코드로 작성할 수 없으므로 C/C++로 구현해야한다는 것입니다.
분명히 이미 작성된 드라이버/스니퍼가 호출 가능한 API를 노출하는 것을 발견하면이를 사용할 수 있습니다.
예를 들어, WinPCap에는 하나 (그리고 SharpPCap 또는 PCap.Net과 같은 일부 .NET 래퍼)가 있지만 패킷의 소스 프로세스 정보를 얻을 수 있다고는 생각하지 않습니다.
digEmAll이 언급했듯이 Vista 이전 버전의 Windows에서는 드라이버를 직접 작성하거나 제 3자를 사용하지 않습니다. Vista, 2008 및 Windows 7에서는 GetPerTcpConnectionEStats
API를 사용할 수 있습니다 (MSDN 페이지에서 큰 사용 예가 있음). 리소스 모니터는 확장 된 네트워크 통계를 위해 이전 API 인 GetTcpTable
/GetTcpRow
API와 함께이 API를 사용합니다.
- 1. .NET에서 3G 인터넷 연결 감지
- 2. iphone에서 인터넷 데이터 사용을 검색하는 방법
- 3. 실시간으로 파일 변경 사항을 모니터링합니다.
- 4. Mac 응용 프로그램이 인터넷 사용을 규제 할 수 있습니까?
- 5. SQUID 프록시 - 인터넷 사용을 검토 할 수있는 인터페이스가 있습니까?
- 6. 응용 프로그램에서 모든 함수 호출을 로깅/모니터링합니다.
- 7. .Net Windows 서비스를 사용하여 사서함을 모니터링합니다.
- 8. .Net에서 웹 브라우저를 만드는 방법 최신 인터넷 익스플로러 사용
- 9. JavaScript/ActionScript를 사용하여 동일한 도메인의 브라우저 창을 모니터링합니다.
- 10. 인터넷 캐싱
- 11. 인터넷 문제
- 12. 인터넷 연결
- 13. .NET에서
- 14. 왜 Dispatcher 사용을 피해야합니까?
- 15. SQL : 사용을 선택 *
- 16. QRcode 사용을 어떻게 추적합니까?
- 17. 무엇이 Triplestore의 사용을 의미합니까
- 18. jsessionid 사용을 어떻게 피합니까?
- 19. 의 사용을 통해,
- 20. 클래스 사용을 제한하는 방법
- 21. auto_ptr 사용을 중단해야합니까?
- 22. netbeans가 디스크 사용을 최적화합니다.
- 23. .NET에서 팩스 보내기/받기
- 24. .net에서 스트림 서버를 개발하는 방법
- 25. C# .NET에서 COM 객체를 사용하여 C# .NET에서 객체를 반환 함
- 26. Perl 템플릿 솔루션으로 Embperl 사용을 고려해야합니까?
- 27. 새로운 항목 감지 기능이있는 .NET에서 인터넷 보안 RSS 파싱 라이브러리가 필요합니다.
- 28. 관리되는 코드 또는 관리되지 않는 코드의 메모리 사용을 모니터링하는 방법
- 29. 여러 인터넷 Explorer 브라우저
- 30. Wpf는 인터넷 익스플로러에서만 호환됩니까?
이것은 도움이 될 수 있습니다 -> 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에게 감사드립니다. 나는 이것이 유용한 출발이라고 생각한다. 이것을 하나의 답으로 표시 할 수 있도록 답안으로 변환 할 수 있습니다. – samar