Linux系统根据网段信息查询网卡

        一般Linux操作中,多数用到的是根据网卡名称查询对应网卡名称的IP地址,但是反过来的用法一般不常见,也就是说,根据给定的网段信息,例如:192.168.1.*,查询对应的是哪块网卡,以及实际的IP地址是多少。

        备注:这种情况多适用于实体机或虚拟机存在多块网卡,且IP地址均为DHCP自动分配的情况。该功能一般不常用,但以备不时之需。

#!/usr/bin/bash

#################################################################
#               net.sh                                          #
#               Written by hanyu-Ko                             #
#               Nov 20,2017                                     #
#                                                               #
#               根据网段查找网卡名称和ip地址                    #
#################################################################

IP_ADDRESS=$2

help()
{
    echo "The script by find interface name.

    Usage: $0

    find interface Name: $0 -f [ip]
    Such as: $0 -f 192.168.1.*
   
    "
}

find_name()
{
    ls /sys/class/net/ > netname.txt
    COUNT=`ls /sys/class/net/ | wc -l`
    for ((i=1;i<=$COUNT;i++));
        do
	    name=`cat netname.txt | awk NR==$i{print}`
	    dst=`ifconfig $name | grep $IP_ADDRESS | awk '{print $2}' | grep -o "[0-255].*"`
	    if [ ! -n "$dst" ] ;then
                continue
            else
                echo $name
                echo $dst
            fi
        done
}

OPTIND=1
while getopts "f:h" Option
do
    case $Option in
		f ) find_name;;
		h ) help;;
		* ) help;;
    esac
done
OPTIND=1





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值