检测局域网中未使用的IP地址

临时检测局域网中未使用的IP地址

#!/bin/bash
echo "检测局域网中未使用的IP地址2015"
echo ""

    processbar() {  
      local current=$1; local total=$2;  
      local maxlen=80; local barlen=66; local perclen=14;  
      local format="%-${barlen}s%$((maxlen-barlen))s"  
      local perc="[$current/$total]"  
      local progress=$((current*barlen/total))  
      local prog=$(for i in `seq 0 $progress`; do printf ‘#‘; done)  
      printf "\r$format" $prog $perc  
    }  
      

    for i in `seq 1 254`; do  
      processbar $(($i*100/254)) 100  
   
    /usr/bin/arping  -I eth0 -c 1  192.168.10.$i  | grep -B 2 "Received 0" |head -1  >> mac$(date +%Y%m%d).txt ;
    done

程序中循环进度条参考自:http://blog.csdn.net/wxqee/article/details/38332141

或者使用

#!/bin/bash
echo 查找未使用的IP地址,通过检测MAC,来找,如果没有开机,无法找到!
for ((  i=1 ; i<254; i++ ))
      do
                /usr/bin/arping  -I eth0 -c 1  192.168.0.$i  | grep -B 2 "Received 0" | grep "192.168.0." >>mac$(date +%Y%m%d).txt ;
  #              sleep 3
              echo -e  "-->  $(($i*100/254)) %  \c " 
          
     done
echo 100%执行完毕,已输出到当前目录下的mac$(date +%Y%m%d).txt文件,请查看!
时间: 2024-07-29 20:31:59

检测局域网中未使用的IP地址的相关文章

检测局域网中还可用的ip地址

#!/bin/bash for i in `seq 1 254` do { ping -c2 192.168.1.$i &>/dev/null if [ $? != 0 ];then echo "192.168.1.$i is not used" fi } done

如何使用确定对方已经阅读你发送的邮件并从对方邮件中确定对方的ip地址

好多大学的选修课都是按照老师的要求把作业发送到邮箱中,但是好多同学发送了作业or结业论文后不知道老师是否已经接收到.可以使用以下的方式来确定老师是否已经阅读邮件. 第一步:打开邮箱找到"已发送" 第二步:双击你发送的邮件,看到最上方的选项 点击撤回,如果对方未阅读,则可以撤回,否者无法撤回.但是超过15天的则无法撤回.所述方式比较被动,下面介绍如何在发送前设置: 第一步:点击到写信的页面: 在最下方有向下的小型双箭头:点击后如下展示: 把需要回执勾选,则对方打开文件后就会显示对方需要你

关于网络中的内网IP地址和公网IP地址

公网IP和内网IP    一.先来看一下IP地址划分: A类地址:0.0.0.0------127.255.255.255 其中127.255.255.255是广播地址,不能分配 B类地址:128.0.0.0------191.255.255.255 C类地址:192.0.0.0------223.255.255.255 D类地址:224.0.0.0-----239.255.255.255 E类地址:240.0.0.0------255.255.255         你要是想看你自己机子的IP

【C#】C#获取本地的内网(局域网)和外网(公网)IP地址的方法

1.获取本机的IP地址集合: 1 /// <summary> 2 /// 获取本机所有ip地址 3 /// </summary> 4 /// <param name="netType">"InterNetwork":ipv4地址,"InterNetworkV6":ipv6地址</param> 5 /// <returns>ip地址集合</returns> 6 public s

C#自动选择出系统中最合适的IP地址

写这个是因为很长时间以来,碰到过很多次这个问题,但都没当回事,这次又碰到了这个老问题,无奈百度了一圈儿未果,身边又没有大牛可以请教,就自己先“总结”了一套方法,一来给自己记录,二来如果碰巧能有朋友看到并为他解决了同样的困扰我将感到很爽. 起因:凡是网络程序,Coder似乎不可避免要碰到,你的代码如何在不同的机器上挑选出最合适的那个IP来通讯,因为如果打开一个应用程序让用户来选择用哪个IP地址和端口来通讯似乎就代表着这是个多么低端的程序,多么低能的程序员,所以一定要自动选择,用户 0 感知,就像伟

MySQL中应该怎样存储IP地址

为什么要问如何存储IP 首先就来阐明一下部分人得反问:为什么要问IP得知怎样存,直接varchar类型不久得了吗? 其实做任何程序设计都要在功能实现的基础上最大限度的优化性能.而数据库设计是程序设计中不可忽略的一个重要部分,所以巧存IP地址可以一定程度获得很大提升. 利用函数算法处理 在MySQL中没有直接提供IP类型字段,但如果有两个函数可以把IP与最大长度为10位数字类型互转,所以使用int类型存储IP比varchar类型存储IP地址性能要提升很多,减少不少看空间.因为varchar是可变长

python中利用正则表达式匹配ip地址

现在有一道题目,要求利用python中re模块来匹配ip地址,我们应如何着手? 首先能想到的是ip地址是数字,正则表达式是如何匹配数字的呢? \d或[0-9] 对于这个问题,不要一下子上来就写匹配模式,应该一步步分解,把复杂的问题简单化 比如ip地址,我们可以总结一下规律 1. 它是一个字符串 2. 字符串内部是由4个1-3位的数字和3个.组成 3. 数字的范围是0-255 接下来,我们先试一下匹配第1个数字 第一步:尝试匹配192.168.100.123中的192 >>> import

linux中匹配正确的ip地址

1.假设IP地址是规范的,没有出错误的 sed -n "/[0-9]\{1,3\}.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/p" test 这种匹配存在明显的问题,在正则匹配的过程中,若是出现300,1,255,0:192.168.0.  :192.168,1.1.1这种错误的IP地址,任然会被匹配到 2.IP地址规范与否未知的情况下匹配 在这里,逛论坛的时候看见一位老哥踩了一个坑,这里做 一下记录 sed -n -r "/((([0

nbtscan命令和arp -a组合可以查看局域网所有正在使用的IP地址和MAC地址

1.下载nbtstat,解压包里的cygwin1.dll要和nbtscan.exe放在一起,如果cygwin1.dll文件无效,请使用"百度电脑专家"下载 *.dll文件. 2.使用ARP -a 可以查看所有在在线的IP地址和MAC地址.