用Matlab来Ping扫描

今天我在实验室计算海量数据,突然有人闯到我旁边,说:“你知道实验室开了几台电脑吗?”
我答:“不知道。”
那人又说:“用Ping的可以吧?”
我答:“地址太多。”
那人:“你不能写个批处理吗?”
我答:“不太会。”
那人:“那就用什么VBS或者PowerShell吧,你不是还用VBS写过笔记本电池电量显示器吗?”
我答:“PowerShell没装,VBS很久没整,不太会用了。”
这时,我发现那人正盯住桌面上的Matlab窗口。
我说:“你不会想……”
那人:“正是如此!”
于是就出现了下面这堆东西:
function ips=pings(str,num)
index=1;
for c=num
[a b]=dos(['ping -w 100 -n 1 ' str '.' num2str(c)]);
if(0==a)
ips{index}=[str '.' num2str(c)];
index=index+1;
end
end
这个函数这样用:输入pings('xxx.xxx.xxx',130:200),表示Ping xxx.xxx.xxx.130到xxx.xxx.xxx.200范围的机器。
之所以用a==0来判断,是因为如果Request time out,就会返回1,否则返回0。
Tags: 

延伸阅读

最新评论

发表评论