如何在 局域网内 判别某IP地址是外网还是内部网络呢??

ajiva 2005-05-24 11:17:41
请教
...全文
190 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyp2kyear 2005-05-25
  • 打赏
  • 举报
回复
/////////////////////////////////////////////////////////////////////////////////
// Returns true if nIP is a LAN ip, false otherwise
/////////////////////////////////////////////////////////////////////////////////
bool IsLANIP(WORD nIP){
// filter LAN IP's
// -------------------------------------------
// 0.*
// 10.0.0.0 - 10.255.255.255 class A
// 172.16.0.0 - 172.31.255.255 class B
// 192.168.0.0 - 192.168.255.255 class C

unsigned char nFirst = (unsigned char)nIP;
unsigned char nSecond = (unsigned char)(nIP >> 8);

if (nFirst==192 && nSecond==168) // check this 1st, because those LANs IPs are mostly spreaded
return true;

if (nFirst==172 && nSecond>=16 && nSecond<=31)
return true;

if (nFirst==0 || nFirst==10)
return true;

return false;
}
koko1998 2005-05-25
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
将他的ip与子网掩码做与操作,如果和自己的ip与子网掩码做与操作的结果相同就说明哪个ip与自己的ip在同一个网段
cxliang 2005-05-25
  • 打赏
  • 举报
回复
fanqing:
请问你的这个运算关系是什么啊?有兴趣,呵呵
bluecrest 2005-05-24
  • 打赏
  • 举报
回复
内网地址是你自己设置的。
除掉这些就是外网地址了。
fanqing 2005-05-24
  • 打赏
  • 举报
回复
I P协议正是根据主机的I P地址、
目的I P地址、以及子网掩码进行相应运算来判断源I P地址与目的I P地址是否在同一子网内的。
远游客-蜡台 2005-05-24
  • 打赏
  • 举报
回复
ping内网地址的机器

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧