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

2021-09-07 19:00:32 字數 1612 閱讀 4427

電腦在區域網內,通過閘道器/路由器連線到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] = ;

intnretcode;

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();

return1;

} 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)

return0;

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

)

return1;

}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...