标题: [原创]VBS计算网络地址与广播地址 [打印本页]
作者: everest79 时间: 2008-11-6 20:36 标题: [原创]VBS计算网络地址与广播地址
通过wmi获取主机IP与掩码后计算得出主机上限(广播-1)与主机下限(网络+1)
经过修改可以利用win32_pingstatus来自动扫描局域网在线主机数
- IPAddress=InputBox("输入IP地址:")
- IPSubnet=InputBox("输入网络掩码:")
- 'IPAddress="192.168.3.55"
- 'IPSubnet="255.255.128.0"
- Address=split(ipaddress,".")
- Subnet=split(ipsubnet,".")
- For i = LBound(Address) To UBound(Subnet)
- Hostbit=(Address(i) And Subnet(i))
- IPBroad=IPBroad & (Subnet(i) Xor 255)+Hostbit & "."
- IPHost=IPHost & Hostbit & "."
- Next
- Msgbox Left(IPBroad,Len(IPBroad)-1) & " " & Left(IPHost,Len(IPHost)-1)
复制代码
作者: rat 时间: 2008-11-7 19:30
兄可以稍微名词解释下
作者: Batcher 时间: 2008-11-7 20:43
要想对没有学过《计算机网络》等课程的人讲清楚这些概念,还真不容易,楼主加油了,呵呵。
作者: everest79 时间: 2008-11-8 07:16
我也是刚开始VBS中支持位运算的一些功能才写这个的,这个脚本根据IP与掩码计算网络大小,方便不怎么了解网络的人来编写扫描局域网的脚本
算是有四个名词,主机地址,网络掩码,子网地址,广播地址
主机地址指本机IP
网络掩码也是指本机的子网掩码
子网地址也叫网络地址
举个例子
如本机IP为192.168.0.77网络掩码为255.255.255.0那么网络地址就是192.168.0.0
如机机IP为192.168.1.64网络掩码为255.255.254.0那么网络地址还是192.168.0.0
广播地址在上边例子中第一个是192.168.0.255第二个是192.168.1.255
它们的计算公式是
子网地址=主机地址 And 网络掩码
广播地址=子网地址 Xor (Not 网络掩码)
由于我是将它们分开逐段计算的,因为取反Not会成为负数,所以采用了
广播地址=网络掩码 Xor 255 + 子网地址
其实就是255.255.255.255-当前网络掩码+网络地址
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |