Advertisement
Guest User

Untitled

a guest
May 26th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. #!/usr/bin/bash
  2.  
  3. ifaces=($(ip link | grep '^[0-9]' | cut -d: -f2 | sed '1d;s/ //'))
  4. iface=${ifaces[0]}
  5. if [ $# -gt 0 ]; then
  6. found=0
  7. for i in ${ifaces[@]}; do
  8. if [ $1 == $i ]; then
  9. found=1
  10. break
  11. fi
  12. done
  13. if [ $found -eq 0 ]; then
  14. echo 'ERROR: invalid interface.'
  15. exit 1
  16. fi
  17. iface=$0
  18. fi
  19.  
  20. ip=$(ip addr show $iface | grep inet | egrep -o '([0-9]+\.?){4}' | sed 2d)
  21. subnet=${ip%.*}
  22.  
  23. # TODO: Adjust to network
  24. for i in $(seq 100 254); do
  25. tp=$subnet.$i
  26. ping -w 1 -c 1 $tp &> /dev/null
  27. if [ $? -eq 0 ]; then
  28. arp=$(arp -n $tp)
  29. if [ $? -eq 0 ]; then
  30. mac=$(echo "$arp" | sed 1d | awk '{print $3}')
  31. if [[ "$mac" =~ ^b8:27:eb ]]; then
  32. echo $tp
  33. break
  34. fi
  35. fi
  36. fi
  37. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement