자신 IP 얻어내기 (WinXP 버전)
글쓴이: purewell / 작성시간: 금, 2004/11/05 - 2:53오후
ㅡ.,-) 뭐... kldp가 Linux을 위한 것이지만,
리눅스/Windows 사이를 왔다갔다 하는 프로그래머를 위해
정리해둡니다. 으헤헤헤~*
//------------------------------------------------------------------------------ // // Get machine ip addresses by sockaddr for sockaddr_in/sockaddr_in6. // // AUTHOR : Yubin Lim // DATE : 2004-11-05 // EMAIL : purewell at purewell dot biz // REQUIRE : MICROSOFT PLATFORM SDK(IPHLPAPI.LIB), // WINDOWS XP, // Visual C/C++ Compiler // //------------------------------------------------------------------------------ #include <cstdio> #include <cstdlib> #include <iostream> using namespace std; #include <winsock2.h> #include <ws2tcpip.h> #include <iptypes.h> #include <iphlpapi.h> #pragma comment(lib, "iphlpapi") #pragma comment(lib, "ws2_32") static bool win32_getMyIP(int nFamily) { DWORD dwRet; PIP_ADAPTER_ADDRESSES pAdpAddrs; PIP_ADAPTER_ADDRESSES pThis; PIP_ADAPTER_UNICAST_ADDRESS pThisAddrs; unsigned long ulBufLen = sizeof(IP_ADAPTER_ADDRESSES); pAdpAddrs = (PIP_ADAPTER_ADDRESSES)malloc( ulBufLen ); if ( !pAdpAddrs ) return false; dwRet = GetAdaptersAddresses(nFamily, 0, NULL, pAdpAddrs, &ulBufLen); if (dwRet == ERROR_BUFFER_OVERFLOW) { free ( pAdpAddrs ); pAdpAddrs = (PIP_ADAPTER_ADDRESSES)malloc( ulBufLen ); if ( !pAdpAddrs ) return false; } dwRet = GetAdaptersAddresses(nFamily, 0, NULL, pAdpAddrs, &ulBufLen); if ( dwRet != NO_ERROR ) { free ( pAdpAddrs ); return false; } for ( pThis = pAdpAddrs; NULL != pThis; pThis = pThis->Next) { fprintf(stderr," FN: %S\n", pThis->FriendlyName); fprintf(stderr," DS: %S\n", pThis->Description); fprintf(stderr," AN: %S\n", pThis->AdapterName); for ( pThisAddrs = pThis->FirstUnicastAddress; NULL != pThisAddrs; pThisAddrs = pThisAddrs->Next ) { if ( nFamily == AF_INET ) { struct sockaddr_in* pAddr = (struct sockaddr_in*)pThisAddrs->Address.lpSockaddr; cerr << " IP v4: " << inet_ntoa(pAddr->sin_addr) << endl; } else if ( nFamily == AF_INET6 ) { struct sockaddr_in6* pAddr = (sockaddr_in6*)pThisAddrs->Address.lpSockaddr; //! @todo convert binary address type to string type cerr << " IP v6" << endl; } }//for }//for free ( pAdpAddrs ); return true; } int main(void) { win32_getMyIP(AF_INET); win32_getMyIP(AF_INET6); return 0; }
Forums:
00
00
http://ifconfig.co.kr/조크... :twist
http://ifconfig.co.kr/
조크... :twisted:
http://clusterkorea.org/
[quote="elfs"]http://ifconfig.co.kr/
run cmd
ipconfig
조크2... :twisted:
------------------------------
좋은 하루 되세요.
[quote="codebank"][quote="elfs"]http://i
http://ip.pe.kr
조크3... :twisted:
[quote="촙5"][quote="codebank"][quote="el
http://checkip.dyndns.org
죄송합니다.
왠지 이 조크를 계속 이어나가야만 할 것 같은 강한 사명감이 들어서... :wink:
조크4
----
LUX ET VERITAS | Just for Fun!
-.-;
http://www.qprk.pe.kr/cgi-bin/ip/ip.cgi
조크5 -,.-;
멋진남자...
[quote="opt"][quote="촙5"][quote="codeban
음..
http://whatismyip.com/
조크5 (죄송합니다 =3 =3)
----
Let's shut up and code.
netsh dump | findstr "set\ address"
netsh dump | findstr "set\ address"
route print | findstr 127.0.0.1
route print | findstr 127.0.0.1
whatismyip.com이라고 주소에 입력하면 바로 IP가 뜹니다.
whatismyip.com
간다하죠.
이미 프로그램이 만들어져 있는 website에요.
rest in peace
항상 이런식의 글에 제가 달아두는 글입니다.mailto XXX
항상 이런식의 글에 제가 달아두는 글입니다.
mailto XXX 지금 회사 사무실에가서 내 PC의 IP를 확인하고 나에게 문자로 알려주게
"빈손으로 사랑하려는 자에게 세상은 너무 가혹하다."
구분해야하지 않나요??
내부 ip 쓰는 경우에는 외부로 나가는 ip와 내부에서 사용중인 ip가 다르므로 이를 구별해서 알아내야 하지 않을까요?? ^^
삶
크크.. 찾아보니 많군요.
http://www.ipchicken.com/
조크 동참. - -;
발 담갔다. 이제 익숙해 지는길만이..
[url]http://groups.google.co.kr/groups?s
http://groups.google.co.kr/groups?selm=3DBCDC98.AF453CB1%40bawi.org
그나저나 "IP가 얼마"라는 표현은 흔히 쓰이지만 엄밀히는 잘못된 것이고, 정확히는 "IP 주소가 얼마"라고 해야 합니다. IP는 프로토콜일 뿐이죠. :)
[quote="musiphil"]그나저나 "IP가 얼마"라는 표현은
"IP 주소가 무엇" 이 아닐까요. IP 주소는 그저 문자열일뿐, 수량이나 정도,분량을 나타내는 말이 아니죠. :)
Re: 구분해야하지 않나요??
외부에 Echo 서버를 한대 설치하는 방법으로 알 수 있습니다.
동일한 IP가 돌아오면 공인Ip 다른 아이피가 돌아오면 사설Ip 입니다. :oops:
------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.
Tcl로는..다음과 같이하시면 운영체제와 상관없이.. IP어드레스를
Tcl로는..
다음과 같이하시면 운영체제와 상관없이.. IP어드레스를 알아내실수 있습니다.
----------------
http://tcltk.co.kr
Superb! Generally I never
Superb! Generally I never read whole articles but the way you wrote this information is simply amazing and this kept my interest in reading and I enjoyed it.
댓글 달기