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