델파이를 첫 프로그래밍 언어로 채택하고 공부한지가 어언 5개월이 다되어 갑니다.
그 동안 이곳을 통하여 여러가지 유요한 예제들을 가지고 공부를 해 왔기에 대단히 감사를 드립니다.
먼저 질문을 드릴 요점은 이렇습니다.
클라이언트에서 윈도우 미디어 서버에 mms://... 이런식의 mms프로토콜을 이용하여 해당하는 무비의 스트리밍을 요청합니다.
그럼 서버에서는 당연히 그 프로토콜을 이용하여 자료를 스트리밍으로 날려주겠죠...
근데 제가 하고 싶은 것은 바로 이러한 요청이 들어왔을 경우 그걸 미리 포트를 탐지하여 인증된 아이피가 아닌 경우 연결을 강제적으로 끊어 버리고 싶습니다.
그 해당 포트는 제가 만든 서버 프로그램이 사용하는 포트가 아닌, 예를 들어서 윈도우 미디어 서버와 같이 타 프로그램이 사용하는 포트입니다.
즉, 윈도우 미디어에서 클라이언트가 요청한 자료를 스트리밍 해주기 전에 포트 감시를 통하여 먼저 해당 아이피가 인증된 사용자인지를 검사하여 자료의 송출 여부를 판단하게 하고 쉽니다.
문제는 제가 API에도 너무나 약하고 아직 네트워크에 대한 이해가 좀 부족한지라 어떻게 시작해 볼지 가닥을 잡지 못하고 있습니다.
다만 윈도우의 포트를 감시하여 접속한 컨넥션의 유지, 종료 등의 일을 수행할 수 있게만 할수 있다면 될거 같다는 생각을 하고 있고, 그쪽으로 자료를 찾아보고는 있습니다.
물론 제가 부족하기에 현재 네트워크에 대한 책자 및 여러 정보들을 찾아 보고 공부를 하고는 있지만 너무나 막막한지라 이렇게 도움을 요청하게 되었습니다.
여러분들의 도움 부탁드립니다.
1. mms://... 이놈이 80포트를 쓰고 해당 서버가 웹서버도 겸한다고 할때
=> 이 경우 파이월, 라우터 등을 아무리 조정해도 방법이 없습니다.
방법은 단하나 최용일씨가 말씀했던 Winpcap를 사용하는 것이 가장 좋습니다.
물론 NDIS 훅킹 드라이버를 만들수만 있다면 그럴 필요 없겠지만 권장사항은 아님.
2. mms://... 이놈이 다른포트를 쓰고 있고 해당 포트에 사용하는 것이 없을때
=> 첫번째 Winpcap 사용하는 방법
구입처 : 먼저 최신버전의 Winpcap을 설치한다.
개발시에는 델파이용 컴퍼넌트 http://www.snoopanalyzer.com 에서 구해서
사용하는것이 편리할 것임
단점 : Overhead(쩝 1기가까지 처리하는데 오버헤드라고 칭하기는 좀 그렇다
또한, 밑에 세번째, 네번째도 오버헤드는 마찬가지임)가 좀 있고
배포시 Winpcap을 설치하느라 웬지 찝찝하다.
장점 : 정밀하게 제어가 가능하다.
두번째 Local PC용 파이어월 전용 NDIS훅킹 라이브러리 쓰는 방법
구입처 : 오픈된 라이브러리가 산재하여 있다(제가 쓰는것은 FWHookDrv.Sys임)
장점 : 배포시 Winpcap처럼 설치가 필요가 없다. 단지 SYS파일 하나만 필요
세번째 Local PC용 파이어월 사용하는 방법중 IPSEC을 사용하는 방법
개요 : IPSEC은 윈도우관리 보안에서 보면 파이어월 기능(정확히 말하면 틀림)을 하는
것이 있는데 이것을 제어 하는 것 입니다.(윈도우 헬프에서 IPSEC으로 찾아보세요)
장점 : SYS도 필요없다. VCL로 된 라이브러리를 사면 된다. (만든다 ㅠㅠ 전 아직 해당 소스를
못 구했어요 VCL라이브러리는 찾았는데)
네번째 위에까지는 선 조치 사항이고 후 조치 하는 방법이 있는데 이것은 IPHELPER인가 하는 것을
사용하는 방법 입니다.
개요 : NETSTAT -a 명령어를 치시면 누가 접속했는지 알 수 있습니다. 바로 이기능을 사용해서
접속된 사용자를 Kill 시키는 방법 입니다.
구입처 : IPHELPER 예제는 많이 있습니다. 제가 사용하는 것은 MagRas라는 RAS용 VCL(소스포함)
에서 샘플중에 있는 TCPCON에서 채출했습니다.
단점 : 후 조치이므로 즉각성이 떨어진다.
상기 소스들은 세션끊는것이 없음.
미해결 : 옛날에 저는 세션을 끊었는데 해당 소스가 어디 있는지 몰라서 이건 님이 찾아 보셔야
한다는..
다섯번째 라우터단에 있는 파이어월을 이나 라우터의 설정을 제어한다.
장점 : 최상단에서 미리 끊어버리기에 해당 서버까지 패킷이 오지도 않기에 네트워크 자원을
좀더 쓸수 있다.
단점 : ㅋㅋ 그 누가 관리를 하는냐가 딜레마죠
멀티미디어서버에서 인증된 사람이나 아이피로 관리코자 하는데
이 경우 수시로 설정이 바뀐다는 뜻으로 파이어월이나 라우터 관리자의 Overhead는 상상
할 수 없다. (만약 파이어월 관리 소프트웨어와 멀티미디어 관리 소프트웨어가 상호 연동이
가능 하다면 최상의 방법임)
음 제가 아는 방법 전부 이네요 또 있나?