在linux的网络编程中,经常需要用到网络信息如:ip、gateway、dns等。以下脚本实现了获取网络信息的功能,包括ip、broadcast、netmask、gateway以及dns的信息。
- #! /bin/sh
- 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
阅读(710) | 评论(0) | 转发(0) |