main.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #!/usr/bin/env bash
  2. #===================HEADER==========================|
  3. #Author: Julio Lira <jul10l1r4@ufrn.edu.br>
  4. #Website: jul10l1r4.github.io
  5. #Nick: @jul10l1r4
  6. #Description: This is program for analyzing of net-
  7. # work, IDS, Sniffer attack etc.
  8. #License: GNU GPLv3
  9. echo -e """
  10. Cor \t Descrição
  11. \033[31m%\033[0m \t Caso haja alguma colisão ou perda de pacote, erro em geral
  12. \033[32m%\033[0m \t Caso esteja com bom funcionamento
  13. """
  14. # Functions
  15. _make()
  16. {
  17. value=""
  18. iterate=$((($1*((`tput cols`-29)/4))/100))
  19. if [ $iterate -gt $(((`tput cols`-29)/4)) ]
  20. then
  21. iterate=$((((`tput cols`-29)/4)))
  22. fi
  23. for i in `seq $iterate`
  24. do
  25. value+="%"
  26. done
  27. left=$((((`tput cols` / 2) - 29) - $iterate))
  28. for i in `seq $left`
  29. do
  30. value+="-"
  31. done
  32. }
  33. _error(){
  34. if [ -z "$1" ]
  35. then
  36. echo -e "\033[31mHouve algum erro\033[0m"
  37. else
  38. echo -e "$1"
  39. fi
  40. exit 1
  41. }
  42. _iwPack()
  43. {
  44. # Resolutions of errors
  45. [ "up" == "$(cat /sys/class/net/$1/operstate)" ] || _error "\033[31mConecte a uma rede sem fio!\033[0m";
  46. echo "Intensidade ao enviar/receber pacotes do A.P"
  47. media=`cat /sys/class/net/$1/tx_queue_len`0;
  48. while [ 1 ]
  49. do
  50. # get values
  51. catTx=`cat /sys/class/net/$1/statistics/tx_packets 2>>errors.log`
  52. catRx=`cat /sys/class/net/$1/statistics/rx_packets 2>>errors.log`
  53. catCTx=`cat /sys/class/net/$1/statistics/tx_errors 2>>errors.log`
  54. catCRx=`cat /sys/class/net/$1/statistics/rx_errors 2>>errors.log`
  55. andc="\033[0m"
  56. # Errors network, break packages etc...
  57. if [ "$catCTx" == "0" ]
  58. then
  59. ctx="\033[0;32m"
  60. else
  61. ctx="\033[31m"
  62. fi
  63. if [ "$catCRx" == "0" ]
  64. then
  65. crx="\033[0;32m"
  66. else
  67. crx="\033[31m"
  68. fi
  69. # call the function and return value
  70. _make $(((($catTx * 80) / $media)))
  71. tx="TX:$ctx $value $andc[$catTx|$(($catTx * 80 / $media))%](Pacotes)"
  72. # call the functoin and return valaue
  73. _make $((($catRx * 80 / $media)))
  74. rx="TR:$crx $value $andc[$catRx|$(($catRx * 80 / $media))%](pacotes)"
  75. # output
  76. echo -ne "$tx.$rx\r"
  77. # delay for processor
  78. sleep 0.2
  79. done
  80. }
  81. # Menu
  82. if [ -z "$1" ]
  83. then
  84. _iwPack "$(ip route show default | awk '/default/ {print $5}' | sed -n 1p)"
  85. else
  86. _iwPack "$1"
  87. fi