Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/bash
- ifaces=($(ip link | grep '^[0-9]' | cut -d: -f2 | sed '1d;s/ //'))
- iface=${ifaces[0]}
- if [ $# -gt 0 ]; then
- found=0
- for i in ${ifaces[@]}; do
- if [ $1 == $i ]; then
- found=1
- break
- fi
- done
- if [ $found -eq 0 ]; then
- echo 'ERROR: invalid interface.'
- exit 1
- fi
- iface=$0
- fi
- ip=$(ip addr show $iface | grep inet | egrep -o '([0-9]+\.?){4}' | sed 2d)
- subnet=${ip%.*}
- # TODO: Adjust to network
- for i in $(seq 100 254); do
- tp=$subnet.$i
- ping -w 1 -c 1 $tp &> /dev/null
- if [ $? -eq 0 ]; then
- arp=$(arp -n $tp)
- if [ $? -eq 0 ]; then
- mac=$(echo "$arp" | sed 1d | awk '{print $3}')
- if [[ "$mac" =~ ^b8:27:eb ]]; then
- echo $tp
- break
- fi
- fi
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement