局域网内一个网段,共有155个IP地址。比如局域网的网关是192.168.0.1,那么这个网段的所有IP就是192.168.0.100到192.168.0.254,共有155个IP地址。
我们如何知道一个ip是否可以访问呢?当然是ping啊。但是,在不知道对方主机的IP的情况下,255个地址一个个试,相信你一定会敲到手抖的。那么接下来,我就简单的介绍几种方法,我们来一个个地看吧,总有一种是你能看对眼的
第一步:点击电脑左下角的“开始”,然后再点击“运行…”。
第二步:在运行窗口里填入“cmd”,然后点击确定。
前面这两步当然也有程序员专用打开方式-------直接【win】+【r】,运行框里输入“cmd”,霸气地敲下回车即可
第五步:这时候在cmd命令窗口输入“for /L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.1.%i”,点击键盘上的回车键(注意:我这里的192.168.0.*是根据自己电脑的ip网段来填写的)。
第六步:等待几分钟命令处理完成,然后在cmd命令窗口输入“arp -a”,回车
第七步:这时候就可以看见局域网内正在使用的电脑的IP地址和物理地址了。
同样【win】+【r】,然后cmd回车,输入下面代码回车
for /L %i in (1,1,255) do ping -n 1 -w 60 192.168.1.%i | find "回复" >>d:\pingall.txt
然后去d盘根目录下找到pingall.txt,打开即可看到可以ping通的IP
下面详细解释上面的这条命令:
用到了for、ping和find命令,并且把运行的结果输出到文本。
for命令的详细说明
C:\Users\Administrator>for /?对一组文件中的每一个文件执行某个特定命令。FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.如果启用命令扩展,则会支持下列 FOR 命令的其他格式:FOR /D %variable IN (set) DO command [command-parameters] 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] 检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。 如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符, 则枚举该目录树。FOR /L %variable IN (start,step,end) DO command [command-parameters] 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列
ping命令
参数-n 1,表示只发送一个数据包 -w 60 参数表示超时时间60ms
C:\Users\Administrator>ping /?用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p] [-4] [-6] target_name选项: -t Ping 指定的主机,直到停止。 若要查看统计信息并继续操作,请键入 Ctrl+Break; 若要停止,请键入 Ctrl+C。 -a 将地址解析为主机名。 -n count 要发送的回显请求数。 -l size 发送缓冲区大小。 -f 在数据包中设置“不分段”标记(仅适用于 IPv4)。 -i TTL 生存时间。 -v TOS 服务类型(仅适用于 IPv4。该设置已被弃用, 对 IP 标头中的服务类型字段没有任何 影响)。 -r count 记录计数跃点的路由(仅适用于 IPv4)。 -s count 计数跃点的时间戳(仅适用于 IPv4)。 -j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。 -k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。 -w timeout 等待每次回复的超时时间(毫秒)。 -R 同样使用路由标头测试反向路由(仅适用于 IPv6)。 根据 RFC 5095,已弃用此路由标头。 如果使用此标头,某些系统可能丢弃 回显请求。 -S srcaddr 要使用的源地址。 -c compartment 路由隔离舱标识符。 -p Ping Hyper-V 网络虚拟化提供程序地址。 -4 强制使用 IPv4。 -6 强制使用 IPv6。
find命令:
刚刚那条语句里find指令搜索的范围是ping产生的文本。利用find搜索含有“回复”这两个字的字符串,并把搜索结果显示出来,然后通过“>>”命令追加到pingall.txt文件里
桌面新建文本文档,复制以下内容粘贴进去
@echo offecho **********************************我是分割线**********************************echo 要输入的文本内容如下:echo 执行中,请稍后...echo ping日期:%date% > pingall.txtecho ping时间:%time% >> pingall.txtecho.>>pingall.txtecho 具体数据:>>pingall.txt@echo onfor /L %i in (1,1,255) do ping -n 1 -w 60 192.168.1.%i | find "回复" >> pingall.txt%for /L %i in (1,1,255) do echo %~i%@echo offecho -------------------------------------------------------------------------------echo ----------------------------------------------------------->> pingall.txt@echo onecho 执行结束,请双击打开pingall.txt查看。echo **********************************我是分割线**********************************pausepause
文件另存为,格式选bat,名称随意
然后双击运行,桌面会生成一个pingall.txt,打开即可看到可以ping通的IP
按组合键(win+R)打开运行窗口,接着输入“cmd”,回车确认
输入“net view”,回车确认即可看到局域网中所有正在运行的电脑
联系客服