Linux 用shell统计局域网内的IP+MAC地址,还有没有使用的IP地址
2013-11-24 20:00
671 查看
有的时候需要给服务器或者什么的配置一个静态IP地址又不知道那个IP地址没有被占用,这个时候使用这个脚本就很方便了。#cat arping#!/bin/bash
IPaddr=192.168.0.
ETHX=eth0
IPFILE=/root/arping.txt
UPIPaddr=/tmp/ipup.txt
DOWNIPaddr=/tmp/ipdown.txt
>$IPFILE
touch $DOWNIPaddr
touch $UPIPaddr
touch $IPFILE
for IP in {1..254}
do
arping -I $ETHX -c 1 $IPaddr$IP >>$IPFILE
done
echo UPIPADDR
echo " IPADDR MAC "; cat $IPFILE |grep reply |awk '{print $4" "$5}' |awk -F"[" '{print $1" "$2}' | awk -F"]" '{print $1" "$2}' | column -t >$UPIPaddr
echo DOWNIPADDR
IPTMP=/tmp/ip.txt
IPTMP2=/tmp/ip2.txt
grep -v ^'[S|R]' $IPFILE |awk -FARPING '{print $2}'|awk -Ffrom '{print $1}' |column -t >$IPTMP
grep -v ^'[S|R]' $IPFILE |awk -F"Unicast reply from" '{print $2}'|awk '{print $1}'|uniq -c |awk '{print $2}' |uniq -c |awk '{print $2}'|column -t >$IPTMP2
cat $IPTMP $IPTMP2 |sort -t "." -k4,4n |uniq -u >$DOWNIPaddr
VL=`wc -l $UPIPaddr |awk '{print $1}'`
VL2=`wc -l $DOWNIPaddr |awk '{print $1}'`
cat $UPIPaddr
echo 目前有$VL台主机为活动状态
cat $DOWNIPaddr |paste -s
echo 目前有$VL2个可用IP地址
请好用的,直接将已经开着的主机将IP地址与MAC地址对应列出来,并将没有使用的IP地址打印出来,有时候用的话时非常方便的。
NETIP=192.168.0.0/24
echo IPaddr" " status; nmap -sP $NETIP |grep up |awk '{print $3}' |awk -F"(" '{print $2}'|awk -F")" '{print $1" up" }' |column -t
IPaddr=192.168.0.
ETHX=eth0
IPFILE=/root/arping.txt
UPIPaddr=/tmp/ipup.txt
DOWNIPaddr=/tmp/ipdown.txt
>$IPFILE
touch $DOWNIPaddr
touch $UPIPaddr
touch $IPFILE
for IP in {1..254}
do
arping -I $ETHX -c 1 $IPaddr$IP >>$IPFILE
done
echo UPIPADDR
echo " IPADDR MAC "; cat $IPFILE |grep reply |awk '{print $4" "$5}' |awk -F"[" '{print $1" "$2}' | awk -F"]" '{print $1" "$2}' | column -t >$UPIPaddr
echo DOWNIPADDR
IPTMP=/tmp/ip.txt
IPTMP2=/tmp/ip2.txt
grep -v ^'[S|R]' $IPFILE |awk -FARPING '{print $2}'|awk -Ffrom '{print $1}' |column -t >$IPTMP
grep -v ^'[S|R]' $IPFILE |awk -F"Unicast reply from" '{print $2}'|awk '{print $1}'|uniq -c |awk '{print $2}' |uniq -c |awk '{print $2}'|column -t >$IPTMP2
cat $IPTMP $IPTMP2 |sort -t "." -k4,4n |uniq -u >$DOWNIPaddr
VL=`wc -l $UPIPaddr |awk '{print $1}'`
VL2=`wc -l $DOWNIPaddr |awk '{print $1}'`
cat $UPIPaddr
echo 目前有$VL台主机为活动状态
cat $DOWNIPaddr |paste -s
echo 目前有$VL2个可用IP地址
请好用的,直接将已经开着的主机将IP地址与MAC地址对应列出来,并将没有使用的IP地址打印出来,有时候用的话时非常方便的。
NETIP=192.168.0.0/24
echo IPaddr" " status; nmap -sP $NETIP |grep up |awk '{print $3}' |awk -F"(" '{print $2}'|awk -F")" '{print $1" up" }' |column -t
相关文章推荐
- 用shell统计局域网内的IP+MAC地址,还有没有使用的IP地址
- 用shell统计局域网内的IP+MAC地址,还有没有使用的IP地址
- SHELL:Find Memory Usage In Linux (统计每个程序内存使用情况)
- 使用shell查看局域网中主机的IP地址
- shell命令查找局域网内使用的IP地址
- 在linux中使用shell来分析统计日志中的信息
- 用shell统计局域网内的以用IP+MAC地址和未使用的IP
- 在linux中使用shell来分析统计日志中的信息
- linux下导致内存使用量增长的shell命令及手动释放内存的方法
- linux中查看现在使用的shell是ksh还是bash?以及怎样修改?
- Linux_Shell_ Map 的使用和遍历
- linux-使用ssh做代理来连接局域网内部电脑
- linux下使用shell查看apache IP访问量
- 使用Shell来监控linux系统和进程(2)
- 使用Shell脚本对Linux系统和进程资源进行监控
- [Linux] 内核模块&proc使用 实例:统计所有进程的信息
- Window访问Linux共享"您可能没有权限使用网络资源"问题解决
- Linux下通过nmap扫描局域网内设备,获取ip地址和mac地址
- Linux局域网内配置使用proxy连接外网
- linux下使用awk,wc,sort,uniq,grep对nginx日志进行分析和统计