미친감자~
숙제를 내겠다.
나는 미친식빵이다.

HEY
MICINGAMJA
I WANT TO GIVE YOU A ASSIGNMENT.

WHAT ARE YOU TALKING ABOUT?
I DON'T LIKE A ASSIGNMENT!
THEN WHAT IS IT?
UM...

음....
미친감자..
NIC의 상태가 바뀌면...바뀌었다고
알려주는 툴을 만들어주었으면 한다.
알겠나?

모르겠습니다.
그럴걸 왜 만듭니까???

그래 알았다.
그러면.
NIC의 상태를
NIC의 정보를 표시해주는
프로그램을 만들어보아라...

그래요..그건 해보죠~

음..
NIC은 뭔지 알지? 미친감자?

NIC????
닉~!!???
닉킥은 아는데..ㅋㅋ

이런~

음...
UM...

UM..
THERE ARE API THAT HELPS TO FIND ABOUT NIC.
UM..
WHAT IS THAT?
UM...

그렇습니다.
이럴때..사용하라고
WIN32 Subsystem세계에는
IPHLPAPI.DLL
이라고 하는 분이 계시죠~!!!!
THAT IS ...
UM..
IPHLPAPI.DLL
이라는 것이 있군요..
UM..
THERE IS A API THAT IS IPHLPAPI.DLL
UM....
음.. 그렇다...
그렇다..
그렇다...
그렇다....
그렇다...
그렇다...
IPHELP DLL이라는 친구에 대해서 알아봐야겠네요^^

이분이시다...
이분은
아주 많은 함수들을 가지고 계신다.
He has a lot of API functions.

존경스럽다.
그 많은 함수들을
win32 subsystem 개발자들을 위하여..
이렇게 희생하시다니~~!!
존경하지 않을 수 없구나!!!

자...어떤 함수를 가지고 계신지 확인해보자.
LETS SEE WHAT FUNCTION IS THERE IN IPHLPAPI.DLL


Ordinal로 쏘팅해서 보니...
262 라는 숫자가 보이는 것이군요..
이걸로 보아 이분께서는
262개의 API 함수를
WIN32 Subsystem 개발자분들에게
제공하고 계십니다.
아~~
훌륭하셔라!!!
그런데....


이름이 참 특이하게 생기신 함수들도 계시는군요..
if_ 문이 들어 있는 함수도 있네요..
ㅋㅋㅋㅋ
ㅋㅋㅋㅋ
이런 함수는 머리털 나고
한번도
사용해본적이 없는데....
음...
ㅋㅋㅋ
아니 참 재미있습니다.
구글링을 했더니...
msdn문서가 가장 먼저 나오질 않는군요..


opengroup.org 의 페이지가
먼자 나오는 것으로 보아
뭔가 표준!!!
이라는 느낌이 팍~~
오지 않습니까????
음...
WIN32 Subsystem 세계에서만 사용하는 분이 아니라는 거죠~!!!

아이 트리플 스탠다므 1003.1 이라고 적혀 있네요~
오~~
권위가 있는 함수가 봅니다...
야....
저는 WIN32 Subsystem에서만 살다보니..
이 함수가..친근하지 않았던가 봅니다...
담에 다른 Subsystem에 대해서도..여행을 떠나보아요~!!
음...암튼...
이 262개의 함수를 가지고 있는
IPHLPAPI.DLL 님의 도움을 받아
NIC의 정보를 확인해 보도록 합시다.

음..
GetAdaptersInfo()
함수를 이용해서
Adapters의 정보를 얻어옵니다.
그런데, 첫번째 파라미터에
NULL을
입력하면...
당신께서
Adapters의 정보를 다 볼려면...
버퍼가 얼마 필요합니다.
라는 값을 알려주는 가 봅니다.


음..중요한 분이 나타나셨습니다...
IP_ADAPTER_INFO
라는 분이십니다.
HE IS VERY VERY IMPORTANT MAN!!
THAT IS MY THOUGHT.
UM.. LET'S SEE
IP_ADAPTER_INFO
AT MSDN DOC!


길어오~
길어요~
길어요
SO LONG~~!!
SO LONG!!!!
SO LONG!!!!!!!!
I DON'T WANT TO SEE THAT LONG STRUCTURE~

UM...
BUT...
SEE AGAIN...
UM...
THERE IS A IMPORTANT FOCTOR...
음..
ComboIndex
콤보 인덱스
어뎁터 이름
닉의 이름이겠죠?!
설명...
닉에 대한 설명이겠죠?
주소길이..
주소길이가..
어덥터의 종류에 따라.
스택의 종류에 따라
달라지죠?
음..
그러면서
궁금해지는게 있군요..
맥스 길이.

8 byte
8*8 -> 64bit
음...왜 64bit일까????
궁금해지네요..
128bit도 아니고
IPv6가 128 bit
이유를 알았습니다!!!!
음.. 이 어드레스는
IP 주소를 말하는 것이 아니였습니다.
맥(MAC)주소 였습니다.

디버깅을 하면서 깨달았네요~~~
역시 디버깅은
VERY VERY IMPORTANT
합니다.
음

CurrentIpAddress에는 이상한 값이 들어가 있네요
0x4
0x14
음..
문자열 값이 들어가야 하는것 같은데 말입니다...

172.20.5.108
255.255.255.0
리스트에...문자열
2개가
들어가 있군요...

에 설정해놓은 값이 말입니다~~!!!
음 그러면 실험을 한번 해봅시다.
실험 : IP를 여러개 입력해보자!

IP를 총 3개를 입력했어도

음 역시 IP를
CurrentIpAddress는
여전히...
이상한 값으로 채워져 있네요~~!!
그렇다면
CurrentIpAddress는 언제
사용하는 것이죠???
모르겠네요...
설명서를 확인해보면 되지~~!!!

이런 reserved네요~~;;;;;;;
이런...
먼저 문서를 먼저
보는 습관을
가져야 합니다.
역시!!!
문서 먼저 꼼꼼히 보자!!!
ㅋㅋㅋ

음 그렇습니다.
그렇습니다.
그렇습니다.
그렇습니다.

so that
SO THAT
SO THAT....
THAT STRUCTURE HAS NIC INFORMATION.
NIC (ADAPTER DESCRITION. AND....
MAC ADDRESS
UM..
CURRENT IP
IP LIST
UM..
YOU KNOW THAT
알고 있습니까?
NIC 이라는 친구는
여러개의 IP를 가지고 있을 수 있다는 것...
모르고 계실겁니다.
이걸 알고 있는 분이 몇 없을 겁니다.

MAYBE YOU DON'T KNOW THAT

숨어 있는 분이 나타나시죠~!!!
이런 화면요!!!!
그렇습니다.

그렇습니다.


그렇습니다.
저 위의 그림처럼
저는 그렇게 써본적이 없지만
윈도우 티시피아이피(TCP/IP)를 만드신 분께서는
아이피와 게이트웨이를 여러개 입력할 수 있도록 만들어주셨다는것~~
왜 그랬을까요???
이친구들은 언제 쓰는 것일까요???
도대체!!!!!!!
^^
오늘은
도대체로 글을 마무리 지어야 겠네요^^
도대체~~!!
왜? IP를 여러개 입력하게 해놓았을까요?^^
최근 덧글