2010-06-01 4 views
10

어떻게 든 로컬 시스템의 네트워크 스택에 연결하여 Winpcap을 사용하지 않고 나가는 네트워크 패킷을 캡처하고 싶습니다. 불행히도 그것은 매번 내 시스템을 망치는 경향이 있습니다.PCap을 사용하지 않고 .NET에서 로컬 발신 네트워크 트래픽을 스니핑하는 방법은 무엇입니까?

.NET 언어로 작성된 사용자 공간 프로세스에서 로컬 시스템의 나가는 트래픽을 "스니핑"할 수있는 방법이 있습니까?

+2

.NET 프로세스에서 발생하는 트래픽을 추적하고 싶습니까? 아니면 모든 나가는 트래픽을 추적하려고하는 .NET 프로세스에서 발생했는지 추적 하시겠습니까? (나는 후자를 의심한다) –

+0

네, 맞아요. 나는 후자가 필요하다. –

답변

11

원하는 것은 Network Monitor API입니다. herehere입니다.

+0

안녕하세요, 마이크, NMCaptureData에 대한 링크가 죽었습니다. 감사합니다 –

+0

너무 좋지 않아, 관련성이있는 것으로 보이는 게시물 (NM API를 사용하는 C# 프로젝트의 또 다른 예)에 대한 게시물을 업데이트했습니다. –

1

나는 NIRSOFT의 smsniff를 사용합니다. 어떤 트래픽을 냄새를 맡으려면 관리자가 있어야합니다.

http://www.nirsoft.net/utils/smsniff.html

은 내가 본 적이없는 트래픽을 도청하는 데 사용 닷넷. 그러나 아마도 마이크로 소프트의 NetMon은 .Net에서 호출하는 COM 인터페이스를 가지고 있습니다.

언제나 그렇듯이 트래픽을 스니핑하려면 관리자 권한이 필요합니다. 이는 NIC를 무차별 모드로 설정해야하기 때문입니다.

+0

내가하고있는 프로그램이 주로 내 용도로 사용되기 때문에 관리자 권한을 얻는 것이 문제가되지 않아야합니다. 글쎄, 누군가가 특정 파일 형식에 대한 HTTP 요청을 추적하고 그러한 요청을 찾은 후 실제로 파일 (예 : 비디오, mp4, flv)을 다운로드 할 수있는 방법을 제공한다면 나는 할 수 있다고 확신합니다. 어딘가에 공개 할 수 있습니다. 완전한 기능을 갖춘 HTTP 프록시를 작성하는 과정을 망치고 싶지 않아 스니핑 만이 유일한 대안입니다. –

+1

fiddler를 HTTP 디버깅 프록시로 사용해보십시오. IT 규칙 http://www.fiddler2.com/fiddler2/ – ggonsalv

+0

예, Fiddler는 훌륭합니다. 이제 FiddlerCore를 사용하여 응용 프로그램과 함께 HTTP 요청을 추적합니다. 하지만 브라우저의 프록시 설정과는 별도로 캡처하고 싶습니다. –

관련 문제