2)用tracert来判断IP类型
如果每一个hops不是内网IP,那么自己就是外网IP了,反之,如果自己是内网IP,那么每一个hops显示的就是网关的内网IP,下面的例子显然说明是外网IP了。
C:\\Documents and Settings\\user>tracert www.baidu.com
Tracing route to www.a.shifen.com [202.108.22.5]
over a maximum of 30 hops:
115 ms16 ms14 ms 125.34.40.1
2 14 ms ** 61.148.8.9
326 ms72 ms40 ms xd-22-5-a8.bta.net.cn [202.108.22.5]
//检查字符串IP是否合法
int isCheckTrue(char* strip)
{
int value;
for( int i = 0; i < strlen(strip); i++)
{
// let's check if all entered char in entered
// IP address are digits
if(strip == '.')
continue;
if(isdigit(strip) == 0)
{
return -1;
}
}
return 0;
}
//将字符串IP转化为整形IP
int str2intIP(char* strip) //return int ip
{
int intIP;
if(!(intIP = inet_addr(strip)))
{
perror(\"inet_addr failed.\\n\");
return -1;
}
return intIP;
}