티스토리 뷰
도메인 IP 얻기 - nslookup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 |
// http://blog.naver.com/bbaggu17/20102760366
#include<stdio.h>
#include<winsock2.h>
#include<stdlib.h>
void err_display(char *msg)
{
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,NULL,WSAGetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR)&lpMsgBuf,0,NULL);
printf("[%s] %s", msg, (LPCTSTR)lpMsgBuf);
LocalFree(lpMsgBuf);
}
BOOL GetIPAddr(char *name, IN_ADDR *addr)
{
HOSTENT *ptr = gethostbyname(name);
if(ptr == NULL){
err_display("gethostbyname()");
return FALSE;
}
memcpy(addr, ptr->h_addr, ptr->h_length);
return TRUE;
}
BOOL GetDomainName(IN_ADDR addr, char *name)
{
HOSTENT *ptr = gethostbyaddr((char *)&addr, sizeof(addr), AF_INET);
if(ptr == NULL){
err_display("gethostbyaddr()");
return FALSE;
}
strcpy(name, ptr->h_name);
return TRUE;
}
int main(int argc, char* argv[])
{
WSADATA wsa;
if(WSAStartup(MAKEWORD(2, 2), &wsa) != 0)
return -1;
IN_ADDR addr;
if(GetIPAddr("kr.yahoo.com", &addr)){ //ip주소를 야
printf("IP주소 = %s\n", inet_ntoa(addr));
char name[256];
if(GetDomainName(addr, name)){
printf("도메인 이름= %s\n", name);
}
}
WSACleanup();
return 0;
} |
cs |
인터넷 공유기의 공인IP 얻는 방법
1. 외부 웹서버에 접속한 Client IP를 반환하는 서비스를 이용하는 방법