脚本实现扫描局域网IP以及查看arp缓存表
目录
- 任务要求
- 分析
- 实现
任务要求
如何知道整个局域网有哪些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缓存表相关推荐
- ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御
ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3 ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...
- android 清空arp缓存表,ARP缓存表 相关命令 arp-a /arp-d
查询本地电脑的物理地址命令: ipconfig/all 也可"网上连接"打开,双击"本地连接","支持"里"详细信息". ...
- cmd扫描局域网ip 如何扫描局域网中的路由器的IP地址
电脑IP地址分两种,静态IP地址和DHCP动态IP. 如果是静态IP,不知道内网IP配置情况,只能逐个地址段试了. 如果是DHCP动态获取IP,一般的情况是,DHCP服务器先给你分配一个临时的IP地址 ...
- 局域网IP地址查看软件V1.2使用教程 Python办公自动化
简介: 在企业.公司都有自己的局域网,作为维护网络运维人员还在使用纸质或电子excel表记录计算机IP信息.是不是很希望有一款工具软件能够管理局域网内的计算机IP地址,可以统计出不同VLAN下的已使用 ...
- 局域网IP地址查看软件V2.0使用教程 Python办公自动化
简介: 在企业.公司都有自己的局域网,作为维护网络运维人员还在使用纸质或电子excel表记录计算机IP信息.是不是很希望有一款工具软件能够管理局域网内的计算机IP地址,可以统计出不同VLAN下的已使用 ...
- 使用 arp-scan 快速扫描局域网 IP -> raspberry pi ssh vnc
简介 在使用 ssh/vnc 对树莓派进行远程操作的时候,都需要获取树莓派的 IP.常见的办法是路由器管理页面或者使用 Advanced IP Scanner.但是我既没有路由器,也没搞懂这个软件怎么 ...
- java扫描局域网中可用ip_使用java线程扫描局域网ip简单方案
package com.cjh.thread; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...
- 扫描局域网IP和MAC的有力工具BPSNMPUtil
扫描局域网IP和MAC的有力工具,其他工具和它比起来简直弱爆了,它能扫描识别出小.中.大型网络基本所有在线电脑的IP地址和其对应的MAC地址,请看下面的截图: 转载于:https://blog.51c ...
- 三种扫描局域网ip方案
from: http://wooden-baby.javaeye.com/blog/351912 使用java线程扫描局域网ip简单方案 java 快速扫描局域网 ip 之二级嵌套类 方案一 : im ...
最新文章
- 通过打印学习Linux内核之sysfs(0)
- 剑指offer:面试题10- II. 青蛙跳台阶问题
- serv-u的语言界面的切换(汉英切换)
- linux 远程 telnet
- 总结H3CNE学习过程和其他
- Gradle sync failed: Minimum supported Gradle version is 3.3.Current version is 3.2
- [壹刊]Azure AD(四)知识补充-服务主体
- mysql 获取结果_【原创】7. MYSQL++中的查询结果获取(各种Result类型)
- SAP License:决胜职场先决条件 白领们必须要懂得的人际经
- vivado ip xdc 和user xdc 编译顺序
- 白话并发冲突与线程同步(3)——Mutex、EventWaitHandle、AutoResetEvent 和 ManualResetEvent...
- 成为Android高手的十个建议
- [Linux]在本地修改Kali Linux系统的root密码
- 服务器ssd内存性能对比,真是大快人心 九款240/256G SSD大横评
- 实战技巧:网站死链检测及处理方法!
- cesiumlab v3.0.2—通用模型切片
- 云计算机技术的运用,三分钟为你详细解析云计算技术与应用
- Android解决滑动冲突
- idea无法识别java文件、Maven下载依赖报错:Cannot resolve...或者Could not find artifact...实测有效
- p_conc_request_id
热门文章
- springboot+junit5+surefire测试报告
- 【word】word跨页不断行问题
- 方法 属性 构造方法和包
- Hauppauge WinTV-HVR1700电视卡调试报告
- 君子性非异也,善假于物
- JDK1.8 的 8 个新特性
- 寄生虫程序php版价格_php动态寄生虫程序(附带asp.php劫持),
- 南开大学计算机学院 肖嘉文,南开大学计算机学院导师教师师资介绍简介-任明明...
- 为什么刻盘显示计算机内存不够,dvd刻录机在刻录时显示内存不足需终结cd怎么办...
- 申宝优配-题材股活跃