獲取本機內網 外網ip C

2021-10-10 07:14:38 字數 1449 閱讀 5083

電腦在區域網內,通過閘道器/路由器連線到internet則ip分為內網ip、外網ip。通過ipconfig得到的為區域網ip。

電腦直接撥號連線等,則本機通過ipconfig得到的就是外網ip。

//get ip

int getlocalip(std::string &local_ip);

int getinternetip(std::string &inernet_ip);

int getlocalip( std::string &local_ip )

; if (wsastartup(makeword(2, 1), &wsadata) != 0)

return kerrorwsastartup;

char szhostname[max_path] = ;

int nretcode;

nretcode = gethostname(szhostname, sizeof(szhostname));

phostent hostinfo;

if (nretcode != 0)

return wsagetlasterror();

hostinfo = gethostbyname(szhostname);

local_ip = inet_ntoa(*(struct in_addr*)*hostinfo->h_addr_list);

wsacleanup();

return 1;}

int getinternetip( std::string &inernet_ip )

, sztempfile[max_path] = ;

std::string buffer;

gettemppath(max_path, sztemppath);

uint nresult = gettempfilename(sztemppath, _t("~ex"), 0, sztempfile);

int ret=urldownloadtofile(null,_t(""),sztempfile,bindf_getnewestversion,null);

if (ret == s_false)

return 0;

file *fp;

if (_wfopen_s(&fp,sztempfile,_t("rb"))!=0)

fseek(fp,0,seek_end);//得到檔案大小

int ilength=ftell(fp);

fseek(fp,0,seek_set);

if(ilength>0)

return 1;

}else

}

獲取內網ip:

1、通過系統函式gethostname得到主機名。

2、通過主機名得到內網ip。

獲取外網ip:

2、儲存檔案中有外網ip,解析出來。

獲取本機內網 外網ip C 《轉》

電腦在區域網內,通過閘道器 路由器連線到internet則ip分為內網ip 外網ip。通過ipconfig得到的為區域網ip。電腦直接撥號連線等,則本機通過ipconfig得到的就是外網ip。get ip int getlocalip std string local ip int getinter...

C 獲取本機內網外網IP

c 獲取本機內網外網ip using system.net region 獲取內 外網ip 獲取本地ip位址,優先取內網ip public static string getlocalip 獲取本地ip位址。多個ip public static string getlocalipaddress 獲取...

本機內網資訊蒐集

windows命令net user,linux命令cat etc passwd windows命令tasklist,可以taskkill pid 程序號 f關閉對應程序 linux命令ps aux或者top,強制終止程序kill 9 程序號。windows命令net start linux命令chk...