您的位置:首页 > 理论基础 > 计算机网络

linux获取网络信息

2012-02-08 12:08 148 查看
在linux的网络编程中,经常需要用到网络信息如:ip、gateway、dns等。以下脚本实现了获取网络信息的功能,包括ip、broadcast、netmask、gateway以及dns的信息
default_route=$(ip route show)
default_interface=$(echo $default_route | sed -e 's/^.*dev \([^ ]*\).*$/\1/' | head -n 1)
address=$(ip addr show label $default_interface scope global | awk '$1 == "inet" { print $2,$4}')

#ip address
ip=$(echo $address | awk '{print $1 }')
ip=${ip%%/*}

#broadcast
broadcast=$(echo $address | awk '{print $2 }')

#mask address
mask=$(route -n |grep 'U[ \t]' | head -n 1 | awk '{print $3}')

#gateway address
gateway=$(route -n | grep 'UG[ \t]' | awk '{print $2}')

#dns
dns=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')

echo ip:$ip,mask:$mask,broadcast:$broadcast,gateway:$gateway,dns:$dns
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: