문제

난 항상 어떻게 소프트웨어를 방화벽에서 커버할 수 있습니 내 자신을 쓰기 사용자 지정 도구를 분석하거나 차단 패킷을 전송되기 전에 또는에서 받은 OS.히 거짓말을 알게 네트워킹의 핵심 원리나는 단지 단서가 없는 경우,시작하는 쓰고 싶은 소프트웨어에 맞는 내부 네트워크 스택과 유사한 방법으로 방화벽 않습니다.수 있는 사람이 내게 어떤 점?

나는 것에 특히 관심이 있는 경우 이를 사용하여 수행할 수 있습 C#지만,나는 할 수 있는 다른 언어 너무입니다.나는 주로 초점을 맞추고,윈도우에 그러는지 알고 싶은 경우가 있었는 모든 크로스-플랫폼 라이브러리로 근처에 위치하고 있습니다.

편집 를 사용하여 NDIS 드라이버(로 Wireshark 는 않습니다)같은 소리 좋은 옵션이며,비스타의 패킷 필터링 기능을 통해 소리가 깔끔하지만,어떻게 방호벽 그것을 말,Windows XP?그들이 없는 특수 드라이버를 설치는 것으로 알고 있다.

도움이 되었습니까?

해결책

Windows Vista 및 Up에서는 Windows 필터링 플랫폼. 이전 버전의 Windows에서는 필터 드라이버를 사용해야합니다 (MSDN 페이지에 링크 된 WFP가 대체하는 기술을 언급합니다.)

다른 팁

내가 기억하는 것처럼 그것은 NDIS 드라이버를 작성하는 것과 관련이 있습니다. 이것은 실제로 NIC (Network Interface Card) 위에 위치하고 있으며 이더넷 패킷 레벨까지 내려 오거나 다른 어떤 것보다 나오는 것에 대한 절대적인 제어가 있습니다.

이것은 c#으로 달성 할 수 없습니다. 이 작업에는 C 또는 C ++를 사용해야합니다.

업데이트: 나는 마지막으로 창 XP 일에 이것을했다. 다른 응답에서 새로운 것이 있으며, 그 외관으로 인해 Windows Vista를 사용하는 경우 더 간단한 API가 있습니다.

가 확실하지 않다면 그것은"하기 전에 O/S",그러나 봐야 WireShark 와 라이브러리를 사용, 사용.

WINPCAP를 참조하십시오 - NDIS 드라이버를 사용하여 패킷 필터링 기능을 구현하십시오. 이 라이브러리는 아마도 쓰기를 원하는 패킷 검사 / 방화벽 프로그램을위한 훌륭한 기반을 제공 할 수 있으며 오픈 소스 일 것입니다. 에서 http://www.winpcap.org/docs/docs_40_2/html/group_nternals.html:

먼저, 캡처 시스템은 네트워크의 원시 데이터에 액세스하기 위해 운영 체제의 프로토콜 스택을 우회해야합니다. 이를 위해서는 OS 커널 내부에서 실행되는 부분이 필요하며 네트워크 인터페이스 드라이버와 직접 상호 작용해야합니다. 이 부분은 매우 시스템 의존적이며, 우리의 솔루션에서는 NetGroup 패킷 필터 (NPF)라고하는 장치 드라이버로 실현됩니다. Windows 95, Windows 98, Windows ME, Windows NT 4, Windows 2000 및 Windows XP 용 드라이버의 다양한 버전을 제공합니다. 이 드라이버는 패킷 캡처 및 주입과 같은 기본 기능뿐만 아니라 프로그래밍 가능한 필터링 시스템 및 모니터링 엔진과 같은 고급 기능을 모두 제공합니다. 첫 번째는 캡처 세션을 네트워크 트래픽의 서브 세트로 제한하는 데 사용될 수 있습니다 (예 : 특정 호스트가 생성 한 FTP 트래픽 만 캡처 할 수 있음), 두 번째는 통계를 얻기 위해 강력하지만 간단한 메커니즘을 제공합니다. 트래픽에서 (예 : 네트워크로드 또는 두 호스트간에 교환 된 데이터 양을 얻을 수 있음).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top