中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 高手这么多,谁写一个扫描本网内IP和mac!
« [1] [2] [3] [4] »
作者:
标题: 高手这么多,谁写一个扫描本网内IP和mac! 上一主题 | 下一主题
ygzxw
初级用户





积分 36
发帖 15
注册 2006-11-20
状态 离线
『第 16 楼』:  

这次测试耗时10分钟(批处理文件好象还在运行)的结果:
list.txt
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
00-0A-EB-F9-0F-F4
------------192.168.0.28
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
==================================
奇怪,只扫描到一台ip,mac

[ Last edited by ygzxw on 2006-12-28 at 04:58 PM ]

2006-12-29 05:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 17 楼』:  


@echo off
set/p=>list.txt<nul
for /l %%a in (1,1,254) do (
        echo.&echo.
        for /f "delims== tokens=2" %%i in ('nbtstat -A 192.168.0.%%a^|find "MAC Address"') do (
                echo==========================>>list.txt
                echo %%i=======192.168.0.%%a >>list.txt
        )
)
pause
start list.txt
goto :eof


2006-12-29 06:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 18 楼』:  


  不会是你的内网主机做了什么限制吧?我测试我自己的可以得到结果啊。


2006-12-29 06:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ygzxw
初级用户





积分 36
发帖 15
注册 2006-11-20
状态 离线
『第 19 楼』:  

我这台计算机,没做任何限制!这个局域网,我是网管!!!!!

[ Last edited by ygzxw on 2006-12-28 at 05:15 PM ]

2006-12-29 06:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 20 楼』:  


  那你随便拿个内网IP测试一下,比如:nbtstat -a 192.168.0.24,看看结果是什么?


2006-12-29 06:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 21 楼』:  


@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




我今后在论坛的目标就是做个超级坏人!!!
2006-12-29 06:36
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
ygzxw
初级用户





积分 36
发帖 15
注册 2006-11-20
状态 离线
『第 22 楼』:  

CODE:  [Copy to clipboard]
--------------------------------------------------------------------------------

@echo off
set/p=>list.txt<nul
for /l %%a in (1,1,254) do (
        echo.&echo.
        for /f "delims== tokens=2" %%i in ('nbtstat -A 192.168.0.%%a^|find "MAC Address"') do (
                echo==========================>>list.txt
                echo %%i=======192.168.0.%%a >>list.txt
        )
)
pause
start list.txt
goto :eof

现在可以了,就是速度奇慢!!!!

测试结果:
=========================
00-0A-EB-F9-0F-**
=======192.168.0.28
=========================
00-05-5D-5D-A0-**
=======192.168.0.60
=========================
00-E0-4C-C4-3E-**
=======192.168.0.63
=========================
00-0A-EB-6F-4E-**
=======192.168.0.65
=========================
00-0A-EB-F9-0F-**
=======192.168.0.66

[ Last edited by ygzxw on 2006-12-28 at 05:47 PM ]

2006-12-29 06:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 23 楼』:  


  速度慢的主要原因是nbtstat命令检测到不是活动的IP的延迟造成的。


2006-12-29 06:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ygzxw
初级用户





积分 36
发帖 15
注册 2006-11-20
状态 离线
『第 24 楼』:  

我的明白,谢谢了!

2006-12-29 07:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 25 楼』:  

糟糕,把技术教给日本人了。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-29 07:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 26 楼』:  

扫描MAC不用nbtstat

先用ping -n 1 -w 10 IP,再用arp -a | find "IP"是比较好的方案

因为使用ping可以快速检测连接

命令行下的方案

for /l %l in (1,1,254) do @(ping -n 1 -w 10 192.168.0.%l>nul && arp -a | find " 192.168.0.%l ")

2006-12-29 07:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 27 楼』:  

sorry,刚看到9527的方案,我的作废吧

不知道WIN的arp表到底可以有多大?

2006-12-29 07:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 28 楼』:  

其实用批处理命令靠IP得到的MAC表,都不能保证真实性.




认识自己,降伏自己,改变自己
,才能改变别人!
2006-12-29 07:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tghksj
社区乞丐

此图片另存后死机



积分 -49
发帖 90
注册 2006-12-2
状态 离线
『第 29 楼』:  

re lxmxn
-----------------------
net view得到"计算机名"列表
nbtstat -a "计算机名" 得到 MAC
------------------------
@ECHO %dbg% OFF
setlocal ENABLEDELAYEDEXPANSION

for /f "tokens=1" %%i in ('net view') do (
                                          SET COMPUTERNAME=%%i
                                          CALL :CNAME
                                          )


:CNAME
IF NOT %COMPUTERNAME:~0,2%==\\ GOTO :EOF
SET COMPUTERNAME=%COMPUTERNAME:~2%
FOR /F "skip=1 tokens=4" %%j in ('nbtstat -a %COMPUTERNAME%^|FINDSTR /I MAC') do (
                                         ECHO %COMPUTERNAME% %%j
                                         )
GOTO :EOF
[ Last edited by tghksj on 2006-12-30 at 12:34 PM ]

2006-12-30 23:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mackyliu
初级用户





积分 32
发帖 16
注册 2006-10-19
状态 离线
『第 30 楼』:  

批处理也是要有系统服务支持的.
例如我公司的局域网,都是单机上网,不需要共享,Server服务都没开,通过路由上网的,DHCP自动获取IP,这种情况我看这个批处理就没有用武之地了

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


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



论坛跳转: