局域网内一个网段,共有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命令窗口输入“ipconfig/ALL”命令,回车。
第四步:这时会在cmd命令窗口看见自己电脑的IP地址,记下自己的IP,这一步主要是确定自己所在局域网的网段。比如我的,就是192.168.1这个网段的
第五步:这时候在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 off
echo **********************************我是分割线**********************************
echo 要输入的文本内容如下:
echo 执行中,请稍后...
echo ping日期:%date% > pingall.txt
echo ping时间:%time% >> pingall.txt
echo.>>pingall.txt
echo 具体数据:>>pingall.txt
@echo on
for /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 off
echo -------------------------------------------------------------------------------
echo ----------------------------------------------------------->> pingall.txt
@echo on
echo 执行结束,请双击打开pingall.txt查看。
echo **********************************我是分割线**********************************
pause
pause
文件另存为,格式选bat,名称随意
然后双击运行,桌面会生成一个pingall.txt,打开即可看到可以ping通的IP
按组合键(win+R)打开运行窗口,接着输入“cmd”,回车确认
输入“net view”,回车确认即可看到局域网中所有正在运行的电脑
接着继续输入“ping 计算机名称”,比如要找的是“DESKTOP-QC31LIJ”的IP,然后按回车键确认即可查看到这台电脑的IP地址了,不过这是ipv6地址