需求分析:

  1. 得到局域网中正在使用的ip和未使用的ip

  2. 将使用的和未使用的ip地址保存到两个不同的文件

  3. 得到这些ip地址对应的mac地址

此处使用的校园网作案例

#!/bin/bash# 清空文件,不删除文件内容
>used_ip.txt
>unused_ip.txt# 此处使用的是校园网的WAN口ip
# 使用for循环遍历整个局域网里的ip
for i in {1..254}
do# 使用多个子进程执行ping命令,提升执行的效果(ping 10.122.199.$i -c 1 -w 1 &>/dev/nullif (( $? == 0 ))thenecho "10.122.199.$i is used"echo "10.122.199.$i" >>used_ip.txtelseecho "10.122.199.$i" >>unused_ip.txtecho "10.122.199.$i is unused"fi) &
done
# 让父进程等待子进程,所有的子进程执行完成了,再退出父进程
wait
# 父进程如果退出,会给所有子进程发送hup挂起信号,收到hup信号的进程会被内核kill掉,为了防止子进程还没执行完成就被kill掉,需要wait
# 输出使用的ip地址和总数
echo "##############used ip detail################"
n=$(cat used_ip.txt|wc -l)
echo "有${n}个ip地址在这个局域网里被使用,如下:"
cat used_ip.txt
echo "#################arp 缓存表###########################"
# 得到arp缓存表里的有效的ip对应的mac地址
arp -a|awk '{print $2,$4}'|grep -v "incomplete"|tr -d '()'

Shell脚本案例:实现局域网扫描功能相关推荐

  1. 这100个shell脚本案例,你都知道吗?一篇教会你写90%的shell脚本

    shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效.安全.低成本地使用 Linux 内核,这就是 Shell 的本质. shell脚本就是由Shell命令组成的执行文件, ...

  2. Shell脚本案例:批量新增用户

    Shell脚本案例:批量新增用户 1.准备用户数据文件 cat users.txt user1 1234567890 user2 1234567890 user3 1234567890 user4 1 ...

  3. python生成shell脚本_Python设置在shell脚本中自动补全功能的方法

    本篇博客将会简短的介绍,如何在ubuntu中设置python自动补全功能. 需求:由于python中的内建函数较多,我们在百纳乘时,可能记不清函数的名字,同时自动补全功能,加快了我们开发的效率. 方法 ...

  4. Shell 脚本案例实战 [4]

    for循环结构 for 循环结构语句     1.for循环结构: 语法: for 变量名 in 变量取值列表 do 指令- done 提示:在此结构中"in 变量取值列表"可省略 ...

  5. 常用的shell脚本案例(14.04.15更新)

    2019独角兽企业重金招聘Python工程师标准>>> 编写shell脚本的思路1.思考需要实现什么功能 2.用什么命令.方法实现此功能 3.写shell代码 4.将此.sh文件写入 ...

  6. shell脚本保姆级教程,附赠100个shell脚本案例!

    无论是系统运维,还是应用运维,均可分为"**纯手工"-> "脚本化"-> "自动化"->"智能化"** ...

  7. shell脚本案例(一):常见运维面试题

    shell是运维人员应该具备的基本技能一,熟练掌握及运用shell,对提升运维作业效率与质量有很大帮助.在这里,将会结合工作中各种场景,利用shell脚本解决问题,完成目标. 监控MySQL主从同步是 ...

  8. linux互信封装脚本,使用shell脚本实现自动SSH互信功能

    说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现? #!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorize ...

  9. 使用shell脚本实现自动SSH互信功能

    原文:http://www.cnblogs.com/vovlie/archive/2012/09/16/2688020.html 说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免 ...

  10. linux实现自动互信,Linux 使用shell脚本实现自动SSH互信功能

    说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现? #!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorize ...

最新文章

  1. Xshell选中的同时把内容复制到剪贴板(还可以设置设置文本分隔符)
  2. mysql model only_full_group_by_MySql版本问题sql_mode=only_full_group_by的完美解决方案
  3. pytorch 之 加载不同形式的预训练模型
  4. Oracle定义变量、常量
  5. Note: HTML5 识别语音相关的一些资源
  6. c语言switch自动贩卖机,JAVA程式-自动贩卖机SWITCHampCASE.doc
  7. Java8 Optional详解
  8. 多线程之Lock锁和读写锁ReadWriteLock
  9. jdbc连接池的数量设置怎么才合适?
  10. easyui datagrid一般创建模板
  11. 分布式文件系统 -- OSS云存储
  12. 小程序 字号设置 slider滚动改变大小_Snipaste(滚动截图软件)app下载|Snipaste(滚动截图软件) 1.15.2 绿色版(32/64位)...
  13. 阿里巴巴大数据之路-维度设计
  14. Eigen aligned_allocator
  15. 如何获取easyclick手机安装包
  16. Python爬虫:输入公司名称,爬取企查查网站中的公司信息
  17. 利用python在网上接单赚钱,兼职也能月入过万,赶紧学起来!
  18. CDA Level1知识点总结之多维数据透视分析
  19. Veristand制作Custom Device全网最详细教程
  20. memcpy与memcpy_s的使用

热门文章

  1. 外企 国企 私企比较
  2. 程序员在国企是种什么体验,国企好还是互联网企业好!
  3. 【Python windows11修改器 】——制作一个简易的修改器,修改windwos11右键和一些小功能
  4. 使用GAppProxy时安全证书无效的解决办法
  5. VBoxManage命令之虚机开启与关机
  6. 测量符合闭合全圆法导线记录表 计算表 成果表
  7. 读邹欣《师生关系》文章有感
  8. jpg转pdf转换器注册码使用
  9. 30天自制操作系统——Day11实验报告
  10. 30天自制操作系统:第十天 叠加处理