shell脚本—————局域网IP扫描

复制代码
#!/bin/bash
#该脚本用于采集某个C类网络存活主机的MAC地址
#使用方法:bash 脚本名字+网卡名字+网段前三位.10.144.100.
#ETH=$(ifconfig | grep eth | awk '{print $1}')

for ip in {1..254}
do
{
arping -c 2 -w 1 -I $1 $2$ip| grep "reply from" > /dev/null
#如果主机存活,会返回reply from的信息;

	if [ $? -eq 0 ]
	then
		MAC=`arp -n | grep "$2$ip" | awk '{print $3}'`
		echo " $2$ip 存活 "
		echo "$2$ip 存活,对应的mac地址为: $MAC" >> scanip.txt
	fi
}&
done
wait
echo "存活主机的IP地址和MAC地址已经保存在scanip.txt中"

arping

-A ARP回复模式,更新邻居

-b 保持广播

-D 复制地址检测模式

-f 得到第一个回复就 退出

-q 不显示警告信息

-U 主动的ARP模式,更新邻居

-c<数据包的数目> 发送的数据包的数目

-w<超时时间> 设置超时时间

-I<网卡> 使用指定的以太网设备,默认情况下使用eth0

-s 指定源IP地址

-h 显示帮助信息

-V 显示版本信息

arping -c 3 -f -D 10.98.4.100 -I ens34 检测ip是否占用

返回1占用 0未占用

相关推荐
Nimsolax25 分钟前
Linux网络Socket编程TCP
linux·网络·tcp/ip
YoungLime1 小时前
DVWA靶场之十六:未验证的重定向漏洞(Open HTTP Redirect)
网络·安全·web安全
张人玉6 小时前
C# TCP 客户端开发笔记(TcpClient)
笔记·tcp/ip·c#
XUE-52113148 小时前
路由策略与路由控制实验
运维·网络·网络协议·智能路由器
加油20198 小时前
如何快速学习一个网络协议?
网络·网络协议·学习·方法论
爱奥尼欧12 小时前
【Linux】网络部分——Socket编程 UDP实现网络云服务器与本地虚拟机的基本通信
linux·服务器·网络
十碗饭吃不饱12 小时前
WebClient工具调用HTTP接口报错远程主机断开连接
网络·网络协议·http
liu****12 小时前
基于websocket的多用户网页五子棋(九)
服务器·网络·数据库·c++·websocket·网络协议·个人开发
心态特好12 小时前
详解WebSocket及其妙用
java·python·websocket·网络协议
jieyu111913 小时前
虚拟专用网络
linux·网络