跪求!!!!IP地址段判断的问题?

feng6868 2006-11-12 02:27:41
就是我有一个JSP网站,想实现这样的功能:通过获得访问者的IP,再判断此IP是属于国内IP还是国外的IP,若是国内的IP则直接转向另一个网站(网址是:www.site1.com),若是国外的IP,则让此访问者访问我的网站,请问各位大侠该如何实现,还请不吝赐教!
我现在最主要的难点:
1、就是如何判断一个IP是属于国内IP还是国外IP,用JSP程序该如何判断
希望知道的大侠能给出完整的程序!谢谢!!!

...全文
1297 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaohaiying 2007-03-19
  • 打赏
  • 举报
回复
呵呵,我来了
shine333 2006-11-24
  • 打赏
  • 举报
回复
晕,都告诉你了,还看不懂,request.getRemoteAddr()可以取得客户(至少是他的代理)的ip

然后没节*256的方式,得到整形的IP(用整形的,而不是4节16进制的比较),

全球IP分布,在emule那个csv文件里有了(QQ的暂时没找到存在哪里)

如果还不会,我也没办法
feng6868 2006-11-23
  • 打赏
  • 举报
回复
晕,没有更好的 办法了吗??关注
buyaowen 2006-11-22
  • 打赏
  • 举报
回复
202.103.0.0 = 202*256*256*256 + 103*256*256 + 0*256 + 0 = a
202.103.45.255 = 202*256*256*256 + 103*256*256 + 45*256 + 255 = b
然后根据a,b的值去下面看是哪部分
其实这些信息可以放到数据库的一个表里面
33996344,33996351,GB,GBR,英国
50331648,69956103,US,USA,美国
69956104,69956111,BM,BMU,百慕达群岛
69956112,83886079,US,USA,美国
94585424,94585439,SE,SWE,瑞典
100663296,121195295,US,USA,美国

feng6868 2006-11-22
  • 打赏
  • 举报
回复
QQ外挂提供了中国的IP地址??怎么得到了,还是请大侠能多多指教啊!
feng6868 2006-11-22
  • 打赏
  • 举报
回复
真是晕啊,那该怎么获得大概的IP地址段啊??真是郁闷啊,难道就没有解决的办法?我知道有一个网站实现了这个功能,但不知道具体是怎么实现的,不知道有没有大侠知道啊?
nccxl 2006-11-22
  • 打赏
  • 举报
回复
另外,关于中国的IP地址,相信很多QQ外挂中都提供了,你可以拿来用用。
nccxl 2006-11-22
  • 打赏
  • 举报
回复
request.getLocal()是操作系统的国家区域吧,如果用的英文的操作系统,或者中文系统中选了区域是外国,还是一样不行吧?

-----华丽的分隔线-----
中国大陆的各家ISP可以自由选择从CNNIC或者APNIC申请可携带IP地址,目前大部分的ISP都是从CNNIC申请IP地址的,但是由于历史的原因(国内互联网络发展早期,中国没有成立统一的IP地址及AS号码资源管理单位,ISP都从APNIC申请地址),有一些ISP,例如中国电信,中国教育网等是直接从APNIC申请到的IPV4地址,他们的地址与CNNIC分配的地址相互独立。这种情况造成了现在中国的IP地址分布零散,统计也比较困难的局面,目前还没有一个全面的针对中国IP地址分布状况的统计,这也给有关领导部门也造成了统一管理的难度。
-----华丽的分隔线-----

上面是中国互联网络信息中心上找到的说明,所以想找到很精确的网段是困难的,还是找个大概的就可以了。
feng6868 2006-11-22
  • 打赏
  • 举报
回复
哦?楼上的大侠这个想法不错,request.getLocal()可以准确知道客户端是属于哪个国家吗??
我试一下,如果可以的话,马上散分~!谢谢!
  • 打赏
  • 举报
回复
用request.getLocal()可以得到客户的国家区域。
这个好像正合适。
区分IP的话就麻烦了,加上用户也可以用国外IP代理。
feng6868 2006-11-22
  • 打赏
  • 举报
回复
一个IP地址和IP地址段如何比较我现在基本上知道了,楼上的大侠能不能给出我们中国的IP地址范围,这样的话我就可以在国内屏蔽我的网站了,请问您还知道怎么才能概括整个中国的IP地址吗??
feng6868 2006-11-22
  • 打赏
  • 举报
回复
16楼的大侠,你能不能再说的详细点,最好能以一个例子写出代码!比如说IP地址为:202.10.3.42 与IP地址段202.103.0.0-202.103.45.255比较,如何判断该IP是不是在该IP地址段里呢??
火山企鹅 2006-11-21
  • 打赏
  • 举报
回复
根 据 网 络 中 心 的 通 知, 从 1997 年 5 月 1 日 起,中 国 四 大 网 络 (中 国 教 育 和 科 研 计 算 机 网、 中 国 公 用 计 算 机 互 联 网、 中 国 科 学 技 术 网、 中 国 金 桥 信 息 网)正 式 连 通。 自 此, 访 问 以 下 的 IP 地 址 均 不 需 要 经 过 国 外 的 节 点 中 转。

网络地址 掩码 网络名称
=============== =============== ============
159.226.0.0 255.255.0.0 NCFC(CASNET)
161.207.0.0 255.255.0.0 CNPCNET
162.105.0.0 255.255.0.0 CERNET
166.111.0.0 255.255.0.0 CERNET
168.160.0.0 255.255.0.0 SSTC-ISTIC
202.100.0.0 255.255.0.0 CHINANET-CN
202.101.0.0 255.255.0.0 CHINANET-CN
202.102.0.0 255.255.0.0 CHINANET-CN
202.103.0.0 255.255.0.0 CHINANET-CN
202.112.0.0 255.255.0.0 CERNET
202.113.0.0 255.255.0.0 CERNET
202.114.0.0 255.255.0.0 CERNET
202.115.0.0 255.255.0.0 CERNET
202.116.0.0 255.255.0.0 CERNET
202.117.0.0 255.255.0.0 CERNET
202.118.0.0 255.255.0.0 CERNET
202.119.0.0 255.255.0.0 CERNET
202.120.0.0 255.255.0.0 CERNET
202.121.0.0 255.255.0.0 CERNET
202.122.128.0 255.255.255.0 BRIAT-CN
202.127.12.0 255.255.252.0 NJIC-CN
202.127.40.0 255.255.248.0 AGRI-CN
202.192.0.0 255.255.0.0 CERNET
202.193.0.0 255.255.0.0 CERNET
202.194.0.0 255.255.0.0 CERNET
202.195.0.0 255.255.0.0 CERNET
202.196.0.0 255.255.0.0 CERNET
202.197.0.0 255.255.0.0 CERNET
202.198.0.0 255.255.0.0 CERNET
202.199.0.0 255.255.0.0 CERNET
202.200.0.0 255.255.0.0 CERNET
202.201.0.0 255.255.0.0 CERNET
202.202.0.0 255.255.0.0 CERNET
202.203.0.0 255.255.0.0 CERNET
202.204.0.0 255.255.0.0 CERNET
202.205.0.0 255.255.0.0 CERNET
202.206.0.0 255.255.0.0 CERNET
202.207.0.0 255.255.0.0 CERNET
202.24.0.0 255.255.252.0 UNKNOWN
202.38.128.0 255.255.254.0 NCFC(CASNET)
202.38.164.0 255.255.252.0 FAWVOLKS-CN
202.38.192.0 255.255.192.0 CERNET
202.38.64.0 255.255.224.0 CERNET
202.38.8.0 255.255.248.0 CIAE-CN
202.4.128.0 255.255.224.0 CERNET
202.90.0.0 255.255.248.0 TOPSLANE-CN
202.91.128.0 255.255.254.0 SIE-CN
202.92.0.0 255.255.252.0 NJYY-CN
202.93.0.0 255.255.240.0 CNINFO-CN
202.94.0.0 255.255.252.0 CNTBONE-CN
202.95.0.0 255.255.252.0 EASTNET-CN
202.96.0.0 255.255.0.0 CHINANET-CN
202.97.0.0 255.255.0.0 CHINANET-CN
202.98.0.0 255.255.0.0 CHINANET-CN
202.99.0.0 255.255.0.0 CHINANET-CN
203.196.0.0 255.255.252.0 INTERCOM-CN
203.208.0.0 255.255.252.0 COL-CN
203.88.0.0 255.255.252.0 FAST-CN
203.90.0.0 255.255.252.0 PANNET-CN
203.93.0.0 255.255.128.0 JITONG-CN
210.32.0.0 255.255.0.0 CERNET
210.33.0.0 255.255.0.0 CERNET
210.33.0.0 255.255.0.0 CERNET
210.34.0.0 255.255.0.0 CERNET
210.35.0.0 255.255.0.0 CERNET
210.36.0.0 255.255.0.0 CERNET
210.37.0.0 255.255.0.0 CERNET
210.38.0.0 255.255.0.0 CERNET
210.39.0.0 255.255.0.0 CERNET
210.40.0.0 255.255.0.0 CERNET
210.41.0.0 255.255.0.0 CERNET
210.42.0.0 255.255.0.0 CERNET
210.43.0.0 255.255.0.0 CERNET
210.44.0.0 255.255.0.0 CERNET
210.45.0.0 255.255.0.0 CERNET
210.46.0.0 255.255.0.0 CERNET
210.47.0.0 255.255.0.0 CERNET
210.72.64.0 255.255.255.0 NCFC(CASNET)
shine333 2006-11-21
  • 打赏
  • 举报
回复
电骡(emule)目录config\ip-to-country.csv

摘取前几行:

33996344,33996351,GB,GBR,英国
50331648,69956103,US,USA,美国
69956104,69956111,BM,BMU,百慕达群岛
69956112,83886079,US,USA,美国
94585424,94585439,SE,SWE,瑞典
100663296,121195295,US,USA,美国

前面两个数值就是IP整型范围
MagicianLiu 2006-11-21
  • 打赏
  • 举报
回复
IP地址比较方法有很多种,可以比较字符串,也可以比较数字。。
将IP地址拆分数组。。例如201.221.122.9=201*256*256*256+221*256*256+122*256+9然后在比较
jackxing 2006-11-21
  • 打赏
  • 举报
回复
request.getRemoteAddr()

google 一下吧
feng6868 2006-11-21
  • 打赏
  • 举报
回复
晕,没有一个人知道吗??真是郁闷啊!
chyx413332087 2006-11-15
  • 打赏
  • 举报
回复
想知道,
希望楼主知道,能公布一下怎样解决,发个邮件给我也可以啊sunshine413332087@yahoo.com.cn
feng6868 2006-11-15
  • 打赏
  • 举报
回复
呵呵,老大,能不能给写出程序来啊??你这样说我也会的啊
xiaoyetao08 2006-11-15
  • 打赏
  • 举报
回复
给出比较 例如"127.11.5.X"段
不是就是国外的了啊
加载更多回复(9)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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