asp下IP地址分段计算函数

IP地址分段计算
<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>"
%>

(0)

相关推荐

  • asp下IP地址分段计算函数

    IP地址分段计算 <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

  • java IP地址网段计算的示例代码

    根据IP地址与字段掩码计算网段最大最小IP package c04; import java.net.UnknownHostException; public class IPNetworkSegmentCalculation { public static void main(String[] args) throws UnknownHostException { String ip = "192.168.126.2"; String mask = "255.255.255

  • asp下用datediff实现计算两个时间差的函数

    计算两个时间差的函数 '****************************** '||Function TimeDiff(sBegin, sEnd) '||本函数计算两个时间的差,可以不用更改直接使用 '||作者:machinecat 2001/10/26 '****************************** '****************************** '注:首先需要判断用户输入的sBegin与sEnd之间的大小 '可以通过DataDiff函数获得两者之间的时

  • ASP下检测图片木马的函数代码

    木马原理:入侵者使用诸如ASP图片木马生成器之类的工具将一张正常的图片与一个ASP木马文件合并成一个图片文件(即将对网站有害的 ASP代码插在图片编码之后,虽然图片仍然可以正常显示,但是文件内容和尺寸已被改变),然后通过网站提供的文件上传功能上传这一张"合 '法的"图片,进而实现了上传ASP木马的目的. ' 防范方法:因为这种木马是图片与木马的二合一,所以需要在上传图片前检查文件内容,若文件内容不合法(即包含有恶意代码在里面), '则禁止上传,从而堵住了木马攻击的源头,这是木马攻击的第

  • asp 根据IP地址自动判断转向分站的代码

    Function getIpvalue(clientIP)'得到客户端的IP转换成长整型,返回值getIpvalue On Error Resume Next Dim strIp, array_Ip strIp=0 array_Ip = Split(clientIP,".") If UBound(array_Ip)<>3 Then getIpvalue=0 Exit Function End If For i=0 To 3 strIp=strIp+(CInt(array_I

  • asp实现检查ip地址是否为内网或者私有ip地址的代码分享

    asp检查ip地址是否为私有/内网ip地址源代码. 内网/私有IP地址网段如下,还有127开头的回环地址: 10.0.0.0-10.255.255.255 172.16.0.0-172.31.255.255 192.168.0.0-192.168.255.255 实现代码: <% function IpToNumber(ip)'IP地址转为数字 arr=split(ip,".") IpToNumber=256*256*256*clng(arr(0))+256*256*clng(a

  • JS 根据子网掩码,网关计算出所有IP地址范围示例

    // 验证IP的正则 var ip_reg = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; // 验证子网掩码的正则 var mask_reg = /^(254|252|248|240|224|192|128|0)\

  • C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析

    本文实例讲述了C#实现获取本地内网(局域网)和外网(公网)IP地址的方法.分享给大家供大家参考,具体如下: 1.获取本机的IP地址集合: /// <summary> /// 获取本机所有ip地址 /// </summary> /// <param name="netType">"InterNetwork":ipv4地址,"InterNetworkV6":ipv6地址</param> /// <

  • Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】

    本文实例讲述了Python2.7基于淘宝接口获取IP地址所在地理位置的方法.分享给大家供大家参考,具体如下: #!/usr/bin/python import sys, os, urllib2, json def get_ip_area(ip): try: apiurl = "http://ip.taobao.com/service/getIpInfo.php?ip=%s" %ip content = urllib2.urlopen(apiurl).read() data = json

  • BAT批处理判断IP地址并自动禁用启用网卡

    某内网拨号软件设计问题,拨号后在偶然的情况下不能自动获取DHCP从而更新内网IP,后来发现通过手动释放和重新获取IP可以解决这个问题,但是每次在操作前还要看下IP地址是不是已经被更新为内网地址,若已经更新则无需操作,否则就要手动释放更新,每次敲一堆命令确实麻烦,于是打算做成批处理. 首先遇到的问题是如何获取IP地址,当然既然采用批处理那么就需要借助于现有的命令或者命令行程序,Windows系统内ipconfig命令可以获取IP地址等信息,如果我们只需要IP地址,那么就必须对获取的信息进行筛选过滤

随机推荐