标题: [求助]用批处理来判断局域网机器开机的数量
[打印本页]
作者: gdyabc
时间: 2009-2-18 07:10
标题: [求助]用批处理来判断局域网机器开机的数量
现在小弟有一个问题请求帮助,用批处理来判断局域网机器开机的数量,把数量显示出来,并取得所开机机器的名称与ip,存为文本文件按如下排列
A211 192.168.0.1
A022 192.168.0.2
………
细想了一下用批处理可以做到但是我不知道该从何处入手。
望各位帮帮我把代码贴出来。
作者: dato
时间: 2009-2-18 13:28
大家能帮我完善一下扫描局域网mac地址并转换成modiip
www.cn-dos.net/forum ...
偶都是用modiip的,modiip是一款非常好的根据机器mac地址更改机器网络设置的软件非常不错。
nbtscan也不错扫描速度非常快
作者: gdyabc
时间: 2009-2-18 14:42
感谢二楼,但是我的意思是不用其他工具,用批处理来达到我要求。
作者: gdyabc
时间: 2009-2-18 20:19
@for /L %%A in (1,1,254) do ping -a -n 1 -l 16 -w 100 192.168.0.%%A |find "Reply">>testa.txt
在网络畅通的情况下用以上代码简单判断那些机器开机,但是若要完整的解决我的问题就不知道该怎样写了。
作者: jy02116916
时间: 2009-2-18 20:43
想问一下二楼的同志 有装软防火墙的机器也可以扫描到吗?
作者: jasonwang
时间: 2009-2-18 22:32
我不会写代码,提供一个思路
1. PING全网段地址
2. 查看ARP表
原因: 如果不看ARP表,靠PING是不行的,如果有防火墙,PING就会失效,但ARP会有回包。
作者: gdyabc
时间: 2009-2-19 00:54
谢谢六楼的思路,但是我也不会写代码,一起等吧。肯定有人能做到。
作者: scriptor
时间: 2009-2-19 01:09
Originally posted by gdyabc at 2009-2-19 00:54:
谢谢六楼的思路,但是我也不会写代码,一起等吧。肯定有人能做到。
for /f %%a in ('arp -a^|findstr "[0-9.]"^|find /v ":"') do @echo %%a
Test Successfully!
作者: scriptor
时间: 2009-2-19 01:14
问题是 全网段ping后,
很可能因为没有及时利用存活的ip
导致存活IP的丢失
Over
作者: DJ131452DJ
时间: 2009-2-19 05:25
Originally posted by jy02116916 at 2009-2-18 20:43:
想问一下二楼的同志 有装软防火墙的机器也可以扫描到吗?
不错 受益了
作者: everest79
时间: 2009-2-19 05:48
Dim Xml,Wsh
Set Xml=CreateObject("Msxml2.XMLHTTP")
Set Wsh=CreateObject("WScript.Shell")
For i= 0 To 256
Xml.Open "Get","http://192.168.0."&i,True
Xml.Send
WScript.Sleep 30
If (i mod 64)=0 Then
Wsh.Run "CMD /c ""ARP -A|findstr /v /i ""inter"""" >>ss.txt",0,True
End If
Next
For /F "tokens=1,2" %%a in (ss.txt) Do Set %%a=%%b
Set 192|find /v "00-00-00"
这样比PING快一点
作者: DwD
时间: 2009-2-19 11:19
Originally posted by scriptor at 2009-2-19 01:09:
for /f %%a in ('arp -a^|findstr "[0-9.]"^|find /v ":"') do @echo %%a
Test Successfully!
想请教下一个地方
就是 ^| 这个地方
我知道^是去掉特殊符号的功能,把它当作一个字符来用。
这里我看不太懂哦,我把^去掉,却是报错。
有谁了解的请都赐教下。
作者: HAT
时间: 2009-2-19 12:10
标题: Re 12楼
作者: tufeiabcd
时间: 2009-2-19 14:14
作者: gdyabc
时间: 2009-2-19 20:27
等了两天,友友们帮帮楼主完成问题,用批处理,或vb都可以。急。