|
박지훈.임프 님이 쓰신 글 :
: : 안녕하세요~
: : 어제 여기 와본 이프리트에여 (Afreet : 아랍신화에 나오는 악마)
: : 다름이 아니라... 이번에 회사에서 네트웍 라이센스에 관한 일이 떨어졌는데
: : 난제가 있어서 질문 드립니다.
: :
: : 하나는 현재에 할당된 IP가 유동 IP(PPP 같은)인지 고정 IP(전용선 같은)인지
: : 알아내는 방법이 없을까요..
: :
: : 두번째는 만약 고정 IP 라면.. 현재 클라이언트로 묶여있는 네트웍의 IP리스트를
: : 알고 싶어요.
: : 제 컴 IP는 210.123.120.24 인데 255 번까지 풀로 쓰고있거던여..
: : 그러면 IP리스트는 210.123.120.1 (0부터던가.. -_-;;) 부터
: : 210.123.120.255 겠지만
: : 풀로 쓰는게 아니라 128번까지만 쓰는곳도 있자나요..
: : 알아내는 방법이 없을까요.. 음..
: :
: : 꼭좀 부탁드립니다. 감사합니다~~ (미리미리 감사하는 습관을 기루는 이뿌리또)
: :
:
:
:
: 임펠리테리입니다.
:
: 지금 시간이 많지 않아서.. 어떻게 하면 되는지 방법만 알려드리겠습니다. 저도 해본 건 아니지만
: 거의 확실히 되는 겁니다.
: 방법은 간단합니다. 레지스트리를 뒤져보면 됩니다. 고정 IP를 쓴다면 네트웍 설정에서 그 IP를
: 등록해야 하죠? 그렇다면 그 주소가 반드시 레지스트리에 있습니다.
:
: 그런데, 이렇게 레지스트리를 뒤져서 알아내려면 95/98과 NT/2000이 방법이 다릅니다. 그럴 수
: 밖에 없는게, 두가지 OS군이 네트웍 드라이버를 다루는 방법이 다르기 때문입니다.
: NT를 예를 들어서 보면, 레지스트리에서 자신의 고정 아이피를 검색해보면 {~} 로 둘러싸인 이상한
: 숫자들의 열로 된 키에 이 값이 들어있습니다. 이 이상한 값은 GUID로서, 레지스트리에 등록된
: OLE 객체의 ID입니다. 레지스트리에는 이런 GUID가 수없이 등록되어 있는데, 네트웍드라이버도
: NT에서는 서비스에 속하므로 GUID로 등록되어 있는 겁니다.
: 그러므로 반드시 이 GUID가 등록된 곳이 있습니다. 다시 이 GUID를 검색해보면,HKEY_LOCAL_MACHINE
: 키의 하위에 서비스 키의 하위키로 네트웍카드 키에서 찾을 수 있습니다.
:
: 거꾸로 생각해보면, HKEY_LOCAL_MACHINE 아래의 네트웍카드 키에서 네트웍서비스의 GUID값을 읽고,
: 다시 그 GUID의 키를 찾아서 IP를 읽어보면 고정 IP인지 알아낼 수 있는거죠. 또, 같은 키에는
: DHCP 설정에 관련된 값이 있으므로 이 값으로 알아낼 수도 있습니다. DHCP가 바로 고정IP인지
: 유동IP인지를 결정하는 값이니까요.
:
: 그리고 두번째 질문.. Lan Manager api함수들을 사용하면 될 겁니다. 저도 이쪽은 많이 사용해보지
: 않아서 별로 자신이 없습니다만, Lan Manager api가 원래 로컬 네트웍에 관련된 함수들이니까요.
: Win32 레퍼런스에서 "Ported LAN Manager Functions"를 찾아보세요.
:
: 그럼 참고하시길...
답변 감사합니다. 그런데.. 제가 알고픈건 서버 프로그래밍시 서버에 접속한 클라이언트의
IP를 가지고 판별 할려면 어떻게 해야할까.. 하는 겁니다.
혹시.. 국가마다 사용하는 고정 IP 번호대와 유동 IP번호대가 구분되어 있는건 아닌지요..
훌쩍.. T_T..
|