2012-03-21 1 views
0

브라우저의 통신을 모니터 할 수있는 Win 플랫폼에 에이전트를 작성하는 가장 좋은 방법은 무엇인지 알고 싶습니다.브라우저 요청 (프록시, 애드온 ...)에서 수신하는 방법?

시나리오 :은 Chrome, FireFox 및 IE에서 미리 정의 된 URL에 대한 사용자 액세스를 모니터링합니다. 각각의 히트에서 나는 어떤 데이터 (페이지 제목)와 함께 서버에 통계를 보냅니다.

내가 지금까지 발견 한 방법은 프록시 및 브라우저 애드온입니다. 각각에는 장단점이 있습니다. 프록시 방식의 주요 단점은 HTTPS 통신 처리입니다. 애드온의 단점은 설치 (모든 브라우저에 설치해야 함)와 브라우저 간 지원이 필요하다는 것입니다.

다른 방법이 있습니까? 내가 시작할 때 자동으로 브라우저에 연결되는 .net으로 작성할 수있는 서비스가 있습니까?

감사합니다.

+0

http 스니퍼 등 시장에서 사용할 수있는 응용 프로그램이 많이 있습니다 .... 왜 그들 중 하나를 사용하지 않습니까? –

+0

감사합니다.하지만 직접 작성하고 기능을 추가해야합니다. 사용할 수있는 스니퍼는 적합하지 않습니다. – user1283002

답변

1

두 가지 선택 사항 - http 프록시 또는 모든 브라우저에 대한 플러그인 작성. 해당 플러그인 으로 네트워크를 통해 중앙 서비스로 전달할 수 있으므로 모든 브라우저에서 제공 할 수있는 공통 데이터 세트를 제공하고 모든 플러그인 모델을 학습해야합니다.

내 생각에 유일한 유일한 옵션은 HTTP (s) 프록시입니다. 그렇지 않으면 브라우저가 바뀔 때마다 플러그인을 계속 업데이트해야하거나 새로운 브라우저를 사용하여 사용할 수 있기 때문입니다.

OS에서 '사용자가 일부 브라우저에서 URL을 탐색하고 있습니다'라는 사실을 알 수 없을 것입니다 - 아는대로 원격 서버의 포트 80/443에 일부 로컬 포트에서 소켓 연결이 열렸습니다 또는 무엇이든).

그래서 나는 Fiddler 뒤에 있고 Fiddler Core를 사용하는 우수한 작업 위에 구축 할 것을 강력하게 제안합니다. HTTPS의

http://www.telerik.com/fiddler/fiddlercore

당신이 암호를 해독하고 다른 인증서로 다시 암호화해야합니다. 필요한 정보는 실제로 요청을 풀지 않고서는 사용할 수 없습니다. Fiddler는 다른 인증서로 클라이언트에 SSL 서버 역할을하는 동안 클라이언트를 대신해 대상 서버에 대한 자체 SSL 터널을 열어이 작업을 수행합니다. 클라이언트가 사용하는 인증서가 완전히 신뢰되는 한 문제는 발생하지 않습니다.

즉, 사용자가 대상 사이트의 신원을 개인적으로 확인할 수 없다는 의미이므로 잘못된 SSL 인증서가 있으면 최악의 시나리오를 가정하고 연결을 차단해야합니다.

+0

감사합니다. 유효한 옵션이지만 SSL 종료를 방지하고 싶습니다. 가능한 한 투명하게하려고 노력하고 있습니다 (초기 설치 제외). – user1283002

+0

SSL 리스너가 없어도 사용자의 SSL 트래픽을 스니핑 할 수있는 것을 설치해서는 안된다고 주장 할 수 있습니다. 각 브라우저마다 플러그인을 작성해야한다는 것보다는 열정적 인 경우가 있습니다. –

+0

SSL 리스너가 있어야합니다. 전송 된 데이터 나 GET/POST 매개 변수는 신경 쓰지 않습니다. URL과 페이지 제목 만 있으면됩니다. .나는 어떤 브라우저에서 어떤 것이 유선으로 연결될 때 알림을받을 수있는 Win 이벤트 메커니즘을 원했습니다. – user1283002