域名到IP的转换
#define WIN32_LEAN_AND_MEAN #include <winsock2.h> #include <stdlib.h> #include <stdio.h> const VERSION_MAJOR = 1; const VERSION_MINOR = 1; void ShowUsage(void) { printf("usage: FINDADDR some.address.com\n"); exit(0); } int main(int argc,char *argv[]) { WSADATA WSData; LPHOSTENT lpHostEntry; DWORD dwIPAddress; LPSTR szIPAddress; if(WSAStartup(MAKEWORD(VERSION_MAJOR,VERSION_MINOR),&WSData)) { printf("Cannot find Winsock(v%d.%d or late)!\n", VERSION_MAJOR,VERSION_MINOR); return(1); } lpHostEntry = gethostbyname(argv[1]); if(lpHostEntry == NULL) { lpHostEntry = gethostbyaddr(argv[1]); } else { szIPAddress = inet_ntoa(*(LPIN_ADDR) *(lpHostEntry->h_addr_list)); printf("Found!IP address is %s\n",szIPAddress); dwIPAddress = inet_addr(szIPAddress); lpHostEntry = gethostbyaddr((LPSTR)&dwIPAddress, sizeof(dwIPAddress),AF_INET); if(lpHostEntry == NULL) printf("Hm... Unable to reverse lookup %s\n",szIPAddress ); else printf("Successful reverse lookup of %s yields %s\n", szIPAddress,lpHostEntry->h_name); } WSACleanup(); return(0); }
注:转载文章需注明来源:VCer.net 文章地址:http://vcer.net/1047290789005.html
如果你觉得VCer.net不错,而且你愿意为VCer.net捐赠一元钱,那么点击后面的捐赠按钮吧:)
A B C D E