IP地址分段计算

原创 2006年06月13日 16:20:00

<script language="JScript" Runat="Server">
function IPDeCode(EIP){
var Ip1,Ip2,Ip3,Ip4;
Ip1 = moveByteR(EIP & 0xff000000,3);
Ip2 = moveByteR(EIP & 0x00ff0000,2);
Ip3 = moveByteR(EIP & 0x0000ff00,1);
Ip4 = EIP & 0x000000ff;
return Ip1 + "." + Ip2 + "." + Ip3 + "." + Ip4;
}


function moveByteL(num,bytenum){
return num <<= (bytenum*8)
}

function moveByteR(num,bytenum){
return num >>>= (bytenum*8)
}

</script>


在vbs中没有位操作,这样在一个页面中用到了js和vbs,并不好,如果用vbs也可以,不过罗嗦了一些,而且有一点注意,如果在vbs中split("202.102.29.6","."),会得到202,102,29三个数,得不到最后一个6,所以需要将ip换成split("202.102.29.6" & ".",".")
我用vbs做的,由于没有位操作,所以做得比较麻烦
<%
function ip2int(ipstr)
dim iptemp,max
iptemp = split(ipstr&".",".")
max = ubound(iptemp)
if max <> 4 then
exit function
end if

dim a,b,i
a = "&H"
for i = 0 to 3
b = Hex(iptemp(i))
if len(b) = 1 then
b = "0"&b
end if
a = a&b
next
ip2int = CLng(a)
end function

function int2ip(ip)
dim iptemp,a,ipstr,i,length
iptemp = Hex(ip)
length = 8 - len(iptemp)
for i = 1 to length
iptemp = "0" & iptemp
next
a = left(iptemp,2)
a = "&H" & a
i = CInt(a)
a = CStr(i)
ipstr = a & "."
a = mid(iptemp,3,2)
a = "&H" & a
i = CInt(a)
a = CStr(i)
ipstr = ipstr & a & "."
a = mid(iptemp,5,2)
a = "&H" & a
i = CInt(a)
a = CStr(i)
ipstr = ipstr & a & "."
a = right(iptemp,2)
a = "&H" & a
i = CInt(a)
a = CStr(i)
ipstr = ipstr & a
int2ip = ipstr
end function

dim testIP,testInt
testIP="202.102.29.6"
testInt = ip2int(testIP)
response.write testIP & " will be encoded to <font color=red>" & testInt & "</font><br>"
response.write testIP & " will be dencoded to <font color=red>" & int2ip(testInt) & "</font><br>"
%>

根据ip/掩码格式地址段得到起始地址和结束地址

需求:给出ip/掩码的形式,求出起始地址和结束地址,例如6.61.252.0/24的起始地址为6.61.252.1,结束地址为6.61.252.254。代码:因为我是在页面做处理,所以写的是js代码1...
  • wzuden
  • wzuden
  • 2016年08月08日 17:23
  • 1816

IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段

背景知识 IP地址 IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址...
  • hnzziafyz
  • hnzziafyz
  • 2016年07月25日 13:25
  • 36085

IP地址的ABCDE类划分

1、 0-—127。A类网络号码范围是0.0.0.0---127.0.0.0,用于128个网络。但网 络不能近由0组成且127.0.0.0保留用于回路。剩下的126个网络,1到126,共 有1677...
  • u010159842
  • u010159842
  • 2015年08月02日 22:19
  • 2914

IP归属地分段处理库

  • 2012年04月26日 10:18
  • 53.98MB
  • 下载

IP分段划分表

  • 2017年01月20日 16:57
  • 16KB
  • 下载

JS验证IP函数(支持分段验证)

  • 2009年05月18日 23:22
  • 2KB
  • 下载

IP分段重组详解

  • 2012年06月27日 09:20
  • 126KB
  • 下载

关于IPv4协议的一点看法-地址空间,分段标识,LinuxNAT

IPv4实际上是一个被设计的很勉强的协议,远远没有TCP等传输层协议设计的好。对于它的升级版,IPv6,实际上我也一样不看好,虽然它解决了很多问题,扩展了地址空间,增加了协议堆栈化的支持...1.地址...
  • dog250
  • dog250
  • 2012年03月24日 16:41
  • 4332

【LeetCode91-100】编码种数,逆转单链表,IP地址转化,中序遍历二叉树,生成二叉搜索树,计算二叉树个数,交叉string【hard】,判断二叉搜索树是否合法,恢复二叉树(有两个元素被交换)

LeetCode91-100 【LeetCode91-100】编码种数,逆转单链表,IP地址转化,中序遍历二叉树,生成二叉搜索树,计算二叉树个数,交叉string【hard】,判断二叉搜索树是否合法,...
  • zmdsjtu
  • zmdsjtu
  • 2017年04月20日 15:56
  • 262

VC获取本机IP、子网掩码、网关、计算广播地址等信息

VC获取本机IP、子网掩码、网关、计算广播地址等信息代码(通过读注册表) 重在思路 #pragma comment(lib, "ws2_32.lib") #include #in...
  • lxw907304340
  • lxw907304340
  • 2015年08月12日 13:47
  • 1281
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IP地址分段计算
举报原因:
原因补充:

(最多只允许输入30个字)