目录

  • 任务要求
    • 分析
    • 实现

任务要求

如何知道整个局域网有哪些IP地址在使用,哪些没有?使用的IP地址和没有使用的IP地址都记录到一个文件里,以及这些IP地址对应的MAC地址也保存到文件里?

分析

a.首先知道自己网段的IP地址范围,使用ping命令,如果可以ping通,则说明这个IP地址在使用,ping不通则说明不在使用.
       b.使用重定向将内容输出到文件中,其中

当输出内容正确的时候:
覆盖重定向:>
追加重定向:>>
当输出内容错误的时候:
覆盖重定向:2>
追加重定向:2>>
当输出内容不管正确还是错误的时候:
覆盖重定向:&>
追加重定向:&>>

c.利用程序的并发执行,让任务看起来好像都在同一时刻执行,提高效率
       d.awk命令:Linux中的截取命令
       grep:文本过滤,-v选项表示取反
       tr:文本转化命令,-d选项删除字符
       (命令)&:启用一个子bash去执行小圆括号的命令,在后台执行。
       wait:让父进程等待子进程,所有的子进程执行完成了,再退出父进程。父进程如果退出,会给所有的子进程发出hup信号,收到hup信号的进程会被内核kill掉。

实现

#!/bin/bash
#使用重定向清空文件内容,但不删除文件
>used_ip.txt
>unused_ip.txt
#使用for循环去遍历整个局域网的IP,这里用5个IP作为示例
for i in {1..5}
do
#使用ping命令测试这个IP地址是否使用,使用多个子进程去执行png命令,提升并发的效果(ping 192.168.40.$i -c 1 -w 1 &>/dev/null#如果能ping通,就写到used_ip.txt,ping不通就写到unused_ip.txtif (($? == 0))thenecho "192.169.40.$i is used"echo "192.168.40.$i" >>used_ip.txtelseecho "192.169.40.$i is unused"echo "192.168.40.$i" >>unused_ip.txtfi)&
done
wait
#输出使用的IP地址和总数
echo "-------------used ip detail------------------"
cat used_ip.txt
num=$(cat used_ip.txt | wc -l)
echo "使用的IP地址总数为$num"
echo "--------------arp 缓存表---------------------"
arp -a | awk '{print $2,$4}' |grep -v "incomplete" |tr -d "()"

脚本实现扫描局域网IP以及查看arp缓存表相关推荐

  1. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

    ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

  2. android 清空arp缓存表,ARP缓存表 相关命令 arp-a /arp-d

    查询本地电脑的物理地址命令: ipconfig/all 也可"网上连接"打开,双击"本地连接","支持"里"详细信息". ...

  3. cmd扫描局域网ip 如何扫描局域网中的路由器的IP地址

    电脑IP地址分两种,静态IP地址和DHCP动态IP. 如果是静态IP,不知道内网IP配置情况,只能逐个地址段试了. 如果是DHCP动态获取IP,一般的情况是,DHCP服务器先给你分配一个临时的IP地址 ...

  4. 局域网IP地址查看软件V1.2使用教程 Python办公自动化

    简介: 在企业.公司都有自己的局域网,作为维护网络运维人员还在使用纸质或电子excel表记录计算机IP信息.是不是很希望有一款工具软件能够管理局域网内的计算机IP地址,可以统计出不同VLAN下的已使用 ...

  5. 局域网IP地址查看软件V2.0使用教程 Python办公自动化

    简介: 在企业.公司都有自己的局域网,作为维护网络运维人员还在使用纸质或电子excel表记录计算机IP信息.是不是很希望有一款工具软件能够管理局域网内的计算机IP地址,可以统计出不同VLAN下的已使用 ...

  6. 使用 arp-scan 快速扫描局域网 IP -> raspberry pi ssh vnc

    简介 在使用 ssh/vnc 对树莓派进行远程操作的时候,都需要获取树莓派的 IP.常见的办法是路由器管理页面或者使用 Advanced IP Scanner.但是我既没有路由器,也没搞懂这个软件怎么 ...

  7. java扫描局域网中可用ip_使用java线程扫描局域网ip简单方案

    package com.cjh.thread; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...

  8. 扫描局域网IP和MAC的有力工具BPSNMPUtil

    扫描局域网IP和MAC的有力工具,其他工具和它比起来简直弱爆了,它能扫描识别出小.中.大型网络基本所有在线电脑的IP地址和其对应的MAC地址,请看下面的截图: 转载于:https://blog.51c ...

  9. 三种扫描局域网ip方案

    from: http://wooden-baby.javaeye.com/blog/351912 使用java线程扫描局域网ip简单方案 java 快速扫描局域网 ip 之二级嵌套类 方案一 : im ...

最新文章

  1. 通过打印学习Linux内核之sysfs(0)
  2. 剑指offer:面试题10- II. 青蛙跳台阶问题
  3. serv-u的语言界面的切换(汉英切换)
  4. linux 远程 telnet
  5. 总结H3CNE学习过程和其他
  6. Gradle sync failed: Minimum supported Gradle version is 3.3.Current version is 3.2
  7. [壹刊]Azure AD(四)知识补充-服务主体
  8. mysql 获取结果_【原创】7. MYSQL++中的查询结果获取(各种Result类型)
  9. SAP License:决胜职场先决条件 白领们必须要懂得的人际经
  10. vivado ip xdc 和user xdc 编译顺序
  11. 白话并发冲突与线程同步(3)——Mutex、EventWaitHandle、AutoResetEvent 和 ManualResetEvent...
  12. 成为Android高手的十个建议
  13. [Linux]在本地修改Kali Linux系统的root密码
  14. 服务器ssd内存性能对比,真是大快人心 九款240/256G SSD大横评
  15. 实战技巧:网站死链检测及处理方法!
  16. cesiumlab v3.0.2—通用模型切片
  17. 云计算机技术的运用,三分钟为你详细解析云计算技术与应用
  18. Android解决滑动冲突
  19. idea无法识别java文件、Maven下载依赖报错:Cannot resolve...或者Could not find artifact...实测有效
  20. p_conc_request_id

热门文章

  1. springboot+junit5+surefire测试报告
  2. 【word】word跨页不断行问题
  3. 方法 属性 构造方法和包
  4. Hauppauge WinTV-HVR1700电视卡调试报告
  5. 君子性非异也,善假于物
  6. JDK1.8 的 8 个新特性
  7. 寄生虫程序php版价格_php动态寄生虫程序(附带asp.php劫持),
  8. 南开大学计算机学院 肖嘉文,南开大学计算机学院导师教师师资介绍简介-任明明...
  9. 为什么刻盘显示计算机内存不够,dvd刻录机在刻录时显示内存不足需终结cd怎么办...
  10. 申宝优配-题材股活跃