中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 查看局域网内在线的电脑的IP地址(批处理)
« [1] [2] »
作者:
标题: 查看局域网内在线的电脑的IP地址(批处理) 上一主题 | 下一主题
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『楼 主』:  查看局域网内在线的电脑的IP地址(批处理)

呵呵,大家好,偶又回来玩儿喽,这次弄个实用的,不好用可别怪我哈,请看下面代码:

@echo off
arp -d
for /l %%i in (0,1,128) do ping 192.168.1.%%i -n 1 >nul
arp -a >11.txt
arp -d
for /l %%i in (128,1,255) do ping 192.168.1.%%i -n 1 >nul
arp -a >>11.txt
arp -d

完了,就这么点,PING虽然也可以判断对方机器是否在线,不过成功率实在不敢恭维,效率也差的要命,还是用ARP好些,不过使用他的人一定要注意他的网段是192.168.1.0-192.168.1.255这个大家根据自己的情况改好了,不过运行速度不是太快,可能是PING给延误的,不过确实很实用的,大概解释一下,有人会问了,为什么你不直接把整段IP给FOR运行呢,我昨天试验了下,那样有些不准,所以分两段运行了,具体为什么不准这个我也不是很清楚,对于有防火墙的情况也是适用的,对屏蔽了ICMP包的机器也是适用的,因为他一定还给一个MAC地址给源计算机的,所以请大家放心使用就是了.

2006-2-17 14:36
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
dosz
中级用户

一看二跟三动手


积分 396
发帖 188
注册 2005-10-23
来自 上海
状态 离线
『第 2 楼』:  

@echo off
@echo Searching share in LAN now...
@for /L %%i IN (1,1,255) do @echo 192.168.0.%%i && @echo 192.168.0.%%i >> share.txt && net view 192.168.0.%%i >> share.txt || @echo 该主机无响应 >> share.txt
@echo finished
@pause
exit

2006-2-17 22:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
220110
荣誉版主




积分 718
发帖 313
注册 2005-9-26
状态 离线
『第 3 楼』:  

to dosz:
我觉得用 net view 不行。因为没安装NetBIOS协议的计算机不会响应 net 的相关命令。
如果可以的话,我想bagpipe 应该会想到。

to bagpipe:
我请问个问题,arp要不要什么协议做基础?源计算机要启动什么服务吗?我曾调试一台网络摄像机,按说明书,先在服务器用arp 命令把一个IP关联绑定网络摄像机的MAC地址,再用IE登录它。然而,反复尝试均不成功。

2006-2-18 00:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 4 楼』:  

@echo off
set /a ip0 = "192"
set /a ip1 = "168"
set /a ip2 = "1"
set /a ip3 = "1"

:ping
ping %ip0%.%ip1%.%ip2%.%ip3% -n 1 -w 10 | find "TTL" >>ip.txt
set /a ip3 = %ip3% + "1"
if %ip3% == 255 (set /a ip2 = "%ip2%" + "1") & (set /a ip3 = "1")
if not %ip2% == 255 goto ping

ping 命令后面加上-vw和-n参数会使效率提高不止一点点。。。。
另外用set命令的话扩展性就好得多,不光可以用来扫描局域网,甚至。。。。
ps:上面的find "TTL"完全是多余的,可以用&&来判断是否ping通。

[ Last edited by 3742668 on 2006-2-18 at 07:16 ]

2006-2-18 07:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 5 楼』:  

上面那个是我以前用来扫描IP的东东,不过后来又改了,专门用来扫描宽带猫的。
ping命令实战演习

1.检测网络状态
有时候局域网中主机故障,导致下面的电脑不能上网。而故障又是暂时性的,说不定什么时候网络就恢复了,在掉线的这段时间去玩单机游戏吧又怕网络通了而不知道,老是从游戏中切换出来检查网络又觉得麻烦。这时候ping命令就可以派上用场了,打开记事本输入:

@echo off
:check
ping sz6.tencent.com -n 1 >nul
if errorlevel 1 goto check
echo wscript.echo "网络已连接!" > tmp.vbs
start tmp.vbs
echo            
rem 上面一句echo后面有十个特殊字符
echo y | del tmp.vbs

完毕后保存为 网络检测.bat 并双击运行,然后就可以放心地去玩游戏了,如果网络连接上后响十声警报并有消息提示网络已通。第七行echo后面的"           "字符可以通过以下方法得到:在命令行窗口输入echo ALT+7 > 字符.txt,注意ALT+7表示按下ALT再按下小键盘上的数字7,然后打开“字符.txt”复制粘贴。如果系统为XP的话可简化为:
@echo off
ping sz6.tencent.com -n 1 && echo            && msg %username% /time:10 "网络已通!"  && exit
%0

2.给局域网中所有的计算机发送消息
打开记事本输入:
@echo off
set /a ip0 = 192
set /a ip1 = 168
set /a ip2 = 1
set /a ip3 = 1

:ping
ping %ip0%.%ip1%.%ip2%.%ip3% -n 1 -w 1 | find "TTL" >>tmp1.txt
set /a ip3 = %ip3% + 1
if not %ip3% == 255 goto ping

for /f "eol=: tokens=3" %%i in (tmp1.txt) do echo %%i >>tmp2.txt
if exist ip.txt echo y | del ip.txt
for /f "delims=:" %%i in (tmp2.txt) do echo %%i >>ip.txt
for /f %%i in (ip.txt) do net send %%i "你好!"

echo y | del tmp1.txt & echo y | del tmp2.txt

完毕后保存为 网络消息.bat 并双击运行。运行完毕后会产生一个名为ip.txt的记录文件,里面记录了所发送过消息的电脑的IP地址。

3.入侵
还是先打开记事本,输入:
@echo off
set /a ip0 = 58
set /a ip1 = 52
set /a ip2 = 110
set /a ip3 = 1
if exist ip.txt echo y | del ip.txt
if exist linux.txt echo y | del linux.txt
if exist windows.txt echo y | del windows.txt
:ping
ping %ip0%.%ip1%.%ip2%.%ip3% -n 1 -w 10 | find "TTL" >>ip.txt
set /a ip3 = %ip3% + 1
if %ip3% == 255 (set /a ip2 = %ip2% + 1) & (set /a ip3 = 1)
if not %ip2% == 255 goto ping
type ip.txt | find "TTL=6" >>linux.txt
type ip.txt | find "TTL=12" >>windows.txt

保存为 扫描.bat 后双击运行将会扫描从59.36.180.1到59.36.255.255之间的IP地址并根据系统的不同来保存为不同的IP(根据不同情况可以修改为想扫描的IP段)。我们知道,windows NT,2000,XP系统的TTL值一般为128,unix为255,win95/98为32,linux为64,另外基本上宽带猫的系统都为linux,所以linux中的IP大多数为打开了路由功能的猫的IP,如果没有更改出厂密码的话我们就可以登陆到猫上去找到他的上网帐号。对于windows.txt中的IP我们可以通过一些工具来进行入侵。

2006-2-18 07:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosz
中级用户

一看二跟三动手


积分 396
发帖 188
注册 2005-10-23
来自 上海
状态 离线
『第 6 楼』:  请教ERRORLEVEL错误返回代号

请教 3742668:

===============执行.bat===============
@echo off
copy C:\BOOT.INI>nul
if errorlevel 1 echo 执行失败
if errorlevel -1 echo 执行成功
if errorlevel -1 echo 被用户中断等
pause
exit
===============================
请教 ERRORLEVEL错误返回代号
如执行成功,执行失败,或被用户中断等

[ Last edited by dosz on 2006-2-18 at 10:02 ]

2006-2-18 09:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosz
中级用户

一看二跟三动手


积分 396
发帖 188
注册 2005-10-23
来自 上海
状态 离线
『第 7 楼』:  

是否可把以上文件添加注解

以下两句有什么不同
if exist ip.txt echo y | del ip.txt
if exist ip.txt del ip.txt

2006-2-18 10:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 8 楼』:  

4楼兄弟的方法好象没有多大起色啊?因为你用find命令来试探TTL生存值,试问如果对方有防火墙之类的软件,我想是PING不通的,所以也不能达到判断对方在线的目的,220110兄弟,好久没联系了,怪想你的,ARP也就是地址解析协议,只要安装了普通的TCP/IP协议我想问题就应该不是很大,你说到的网络摄象机我没有玩过,不过我想一定有网线接口,而且还要有一台主机装上相应的控制软件来实现的,如果是通过WEB界面来管理的,那么你看看他的访问端口之类的,如果不成,请在Q里跟我说明下情况,我们在来讨论,OK???^-^

2006-2-18 17:29
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 9 楼』:  

呵呵,我是探测宽带猫的,而且是可以入侵的猫
这样的猫一般都没有屏蔽ICMP协议的
如果对方有这个意识的话我相信更应该是改端口,不会简单地屏蔽这个协议而已,况且对方安全意识高的话我入侵的成功几率也不大,所以可以选择跳过,毕竟在网上一会可以扫一大片可以入侵的猫出来。。。
楼上的兄弟可能是没有理解我这个东东的用途,所以有异议,呵呵。。。。
ps:如果你认为我的说法比较牵强的话我建议用另外一个命令:pathping,它也可以指定时间间隔以及解析对方主机名等等。。。。
6楼的朋友:对于errorlevel建议自己用CMD下的echo %errorlevel%来了解,这样才会有提高。。
7楼的朋友:
if exist ip.txt echo y | del ip.txt  rem如果存在ip.txt就删除它,避免上次扫描的结果和这次的混在一起了,下同。echo y只是习惯,用于向del命令发送一个y
if exist ip.txt del ip.txt
初次来到这个论坛,没想到这里有这么多喜欢DOS的朋友饿。。。

[ Last edited by 3742668 on 2006-2-18 at 19:48 ]

2006-2-18 19:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 10 楼』:  

巨强

2006-3-1 14:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
#four#
中级用户




积分 209
发帖 34
注册 2004-5-25
状态 离线
『第 11 楼』:  

for 命令的/F参数是什么意思???????
能不能详细说一说.
非常感谢!!!

2006-3-1 14:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yayun
新手上路





积分 2
发帖 6
注册 2006-3-12
状态 离线
『第 12 楼』:  

学到东西了

2006-3-12 10:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doscc
中级用户




积分 256
发帖 93
注册 2006-3-26
来自 广东
状态 离线
『第 13 楼』:  

顶顶

2006-3-27 13:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Kinglion
铂金会员

痴迷DOS者


积分 5792
发帖 1921
注册 2003-6-20
来自 金獅電腦軟體工作室
状态 离线
『第 14 楼』:  

如果为了方便,可以使用  LanSee ,很实用。



熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
2006-3-27 16:33
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (79207959)  编辑帖子  回复  引用回复
kkworms
新手上路





积分 2
发帖 1
注册 2006-4-1
状态 离线
『第 15 楼』:  

都是强人呀,受用了

2006-4-1 03:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: