Shell脚本案例:实现局域网扫描功能
需求分析:
得到局域网中正在使用的ip和未使用的ip
将使用的和未使用的ip地址保存到两个不同的文件
得到这些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脚本案例:实现局域网扫描功能相关推荐
- 这100个shell脚本案例,你都知道吗?一篇教会你写90%的shell脚本
shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效.安全.低成本地使用 Linux 内核,这就是 Shell 的本质. shell脚本就是由Shell命令组成的执行文件, ...
- Shell脚本案例:批量新增用户
Shell脚本案例:批量新增用户 1.准备用户数据文件 cat users.txt user1 1234567890 user2 1234567890 user3 1234567890 user4 1 ...
- python生成shell脚本_Python设置在shell脚本中自动补全功能的方法
本篇博客将会简短的介绍,如何在ubuntu中设置python自动补全功能. 需求:由于python中的内建函数较多,我们在百纳乘时,可能记不清函数的名字,同时自动补全功能,加快了我们开发的效率. 方法 ...
- Shell 脚本案例实战 [4]
for循环结构 for 循环结构语句 1.for循环结构: 语法: for 变量名 in 变量取值列表 do 指令- done 提示:在此结构中"in 变量取值列表"可省略 ...
- 常用的shell脚本案例(14.04.15更新)
2019独角兽企业重金招聘Python工程师标准>>> 编写shell脚本的思路1.思考需要实现什么功能 2.用什么命令.方法实现此功能 3.写shell代码 4.将此.sh文件写入 ...
- shell脚本保姆级教程,附赠100个shell脚本案例!
无论是系统运维,还是应用运维,均可分为"**纯手工"-> "脚本化"-> "自动化"->"智能化"** ...
- shell脚本案例(一):常见运维面试题
shell是运维人员应该具备的基本技能一,熟练掌握及运用shell,对提升运维作业效率与质量有很大帮助.在这里,将会结合工作中各种场景,利用shell脚本解决问题,完成目标. 监控MySQL主从同步是 ...
- linux互信封装脚本,使用shell脚本实现自动SSH互信功能
说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现? #!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorize ...
- 使用shell脚本实现自动SSH互信功能
原文:http://www.cnblogs.com/vovlie/archive/2012/09/16/2688020.html 说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免 ...
- linux实现自动互信,Linux 使用shell脚本实现自动SSH互信功能
说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现? #!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorize ...
最新文章
- Xshell选中的同时把内容复制到剪贴板(还可以设置设置文本分隔符)
- mysql model only_full_group_by_MySql版本问题sql_mode=only_full_group_by的完美解决方案
- pytorch 之 加载不同形式的预训练模型
- Oracle定义变量、常量
- Note: HTML5 识别语音相关的一些资源
- c语言switch自动贩卖机,JAVA程式-自动贩卖机SWITCHampCASE.doc
- Java8 Optional详解
- 多线程之Lock锁和读写锁ReadWriteLock
- jdbc连接池的数量设置怎么才合适?
- easyui datagrid一般创建模板
- 分布式文件系统 -- OSS云存储
- 小程序 字号设置 slider滚动改变大小_Snipaste(滚动截图软件)app下载|Snipaste(滚动截图软件) 1.15.2 绿色版(32/64位)...
- 阿里巴巴大数据之路-维度设计
- Eigen aligned_allocator
- 如何获取easyclick手机安装包
- Python爬虫:输入公司名称,爬取企查查网站中的公司信息
- 利用python在网上接单赚钱,兼职也能月入过万,赶紧学起来!
- CDA Level1知识点总结之多维数据透视分析
- Veristand制作Custom Device全网最详细教程
- memcpy与memcpy_s的使用