中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-13 15:54
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 高手这么多,谁写一个扫描本网内IP和mac!
可打印版本  7,726 / 51
第31楼 lxmxn 发表于 2006-12-31 00:55
版主 发帖 4,938 积分 11,386

  根据 9527 和 qzwqzw 的思路,我是这样理解的:当ping完一个IP之后,如果这个IP所代表的主机是存活的,那么就会自动在路由表中记录这个IP和其MAC,但是我试了一下ping www.cn-dos.net,之后我用ARP -A,路由表中并没有出现www.cn-dos.net的IP以及MAC,请教这是什么原因?是不是这种方法只针对内网的主机呢?请各位不吝赐教。
第32楼 9527 发表于 2006-12-31 01:13
银牌会员 发帖 438 积分 1,185 来自 北京


这是我原帖所写内容,你在从网上查一下,ARP好像只对内部网络操作有作用,对其外网是否存活好像基础命令是PING对方主机看TTL值,ARP就有一个好处那就是如果对方在线不管在线不在线对能够判断出来!!!
第33楼 lxmxn 发表于 2006-12-31 02:01
版主 发帖 4,938 积分 11,386
Originally posted by tghksj at 2006-12-30 10:25:
re lxmxn
-----------------------
net view得到"计算机名"列表
nbtstat -a "计算机名" 得到 MAC
------------------------


第34楼 tghksj 发表于 2006-12-31 02:13
社区乞丐 发帖 90 积分 -49



nbtstat -a 命令竟然大小写结果不同........
NBTSTAT -A 不行......
第35楼 trickster 发表于 2006-12-31 02:46
初级用户 发帖 33 积分 63
Originally posted by ygzxw at 2006-12-28 04:12 PM:
这儿不让传图!!!发不了


可以发的,在你发贴时在最下面有提示:

图1
上传完成后根据提示找到文件连接地址即可.



[ Last edited by trickster on 2006-12-30 at 01:54 PM ]
第36楼 everest79 发表于 2006-12-31 02:58
金牌会员 发帖 1,127 积分 2,564
有个命令很方便,也不需要server服务来支持 arp -a ipaddress
第37楼 lxmxn 发表于 2006-12-31 03:04
版主 发帖 4,938 积分 11,386

  再试试看?


[ Last edited by lxmxn on 2006-12-30 at 03:17 PM ]
第38楼 tghksj 发表于 2006-12-31 04:04
社区乞丐 发帖 90 积分 -49
粗心了:)
少了个 '
应该是for /f "tokens=1 delims=\" %%i in ('net view^|find "\\"') do (
第39楼 lxmxn 发表于 2006-12-31 04:18
版主 发帖 4,938 积分 11,386

  呵呵,谢谢楼上兄的提醒。由于没有环境,所以代码写好了就直接发上来了,没有测试。 =_=||
第40楼 qzwqzw 发表于 2006-12-31 06:06
银牌会员 发帖 636 积分 2,343
arp -a 显示的并非路有表,而是ARP缓存表

前者是网络层的数据结构

后者是通过发送arp广播消息建立的,是个典型的数据链路层数据结构

数据链路层消息是不能跨网关的,所以只能在同一网段内(或者同一VLAN)

一个局域网内可能有多个网段或VLAN
---------------------------------------------

arp 并不比 ping 更好些,因为他们不是同一层次的程序

windows 的 arp 程序只操作本地arp缓存表,没有发出任何网络连接

所以如果不连接目标IP,是不可能arp 到mac的

所以,ping或者其他连接程序是 arp 的前提

除非有个arp程序可以自己发出arp请求消息
-------------------------------------------------------------------------

是否ping通与是否获取mac没有直接关系

因为ping采用icmp协议,位于网络层

网络层失败,并不意味着更低的数据链路层失败

但数据链路层失败,则网络层一定失败

所以,能ping通,就一定可以获得mac

能获得mac却不一定可以ping通

---------------------------------------------------------------------------------

印象中arp缓存表只保留10条最新的ip-mac记录

所以可能无法一次获取128条记录

但没有条件做测试,也很难说,这与系统有关,与协议无关

--------------------------------------------------------------------------------
第41楼 vkill 发表于 2006-12-31 06:13
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
应该先看看 $ipc
第42楼 lxmxn 发表于 2006-12-31 06:42
版主 发帖 4,938 积分 11,386

  多谢40楼兄的指点,明白一些了。
第43楼 everest79 发表于 2006-12-31 06:51
金牌会员 发帖 1,127 积分 2,564
Originally posted by qzwqzw at 2006-12-30 05:06 PM:
arp -a 显示的并非路有表,而是ARP缓存表

前者是网络层的数据结构

后者是通过发送arp广播消息建立的,是个典型的数据链路层数据结构

数据链蠮..


刚才没注意看,以为是要获得ping以后的MAC地址
arp本地缓存应支持超过256个条目
第44楼 everest79 发表于 2006-12-31 06:54
金牌会员 发帖 1,127 积分 2,564

我这也有一个,原来配置交换机时写的
第45楼 qzwqzw 发表于 2006-12-31 09:11
银牌会员 发帖 636 积分 2,343
写的不错

再完善一下就可以做标配工具了

首先是对非0的掩码的支持

其次是对(1,1,20)的问题,不知道你是如何考虑的,是抽样吗?

另外,arp的条目总数不知是否系统版本影响

如果确定不低于256,那么为什么不在ping完一个段后,再arp -a呢
上一页  1 2 3 4  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023