Se colocaran ejercios para practicar de codigobit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.3 KiB

  1. <?php
  2. namespace App\Commands;
  3. use Illuminate\Console\Scheduling\Schedule;
  4. use LaravelZero\Framework\Commands\Command;
  5. use Illuminate\Support\Facades\Process;
  6. class Redes_wifi extends Command
  7. {
  8. /**
  9. * The signature of the command.
  10. *
  11. * @var string
  12. */
  13. protected $signature = 'wifi';
  14. /**
  15. * The description of the command.
  16. *
  17. * @var string
  18. */
  19. protected $description = 'Muestra las contraseñas guardadas de wifi';
  20. /**
  21. * Execute the console command.
  22. *
  23. * @return mixed
  24. */
  25. public function handle()
  26. {
  27. $profiles = $this->getProfiles();
  28. foreach ($profiles as $profile) {
  29. $this->line("[{$profile}] ".$this->getPassword($profile));
  30. }
  31. }
  32. public function listProfiles()
  33. {
  34. $result = Process::run('netsh wlan show profile');
  35. $salidaprofiles = $result->output();
  36. //$salidaprofiles = file_get_contents('profiles.txt');
  37. $parseprofiles = explode("-------------------", $salidaprofiles);
  38. $parseprofiles = end($parseprofiles);
  39. $parseprofiles = explode("\n", trim($parseprofiles, "\n"));
  40. $profiles = [];
  41. foreach ($parseprofiles as $profile) {
  42. $profiles[] = str_replace(' Perfil de todos los usuarios : ', '', $profile);
  43. }
  44. return $profiles;
  45. }
  46. public function getPassword($profile)
  47. {
  48. $result = Process::run("netsh wlan show profile {$profile} key=clear");
  49. $salidapassword = $result->output();
  50. //$salidapassword = file_get_contents('prueba.txt');
  51. $parsepassword = explode('--------------------------', $salidapassword);
  52. $parsepassword = end($parsepassword);
  53. $parsepassword = explode("Configuraci", trim($parsepassword, "\n"));
  54. $parsepassword = current($parsepassword);
  55. $parsepassword = trim($parsepassword);
  56. $parsepassword = explode("\n", $parsepassword);
  57. $parsepassword = str_replace(' Contenido de la clave : ', '', end($parsepassword));
  58. return $parsepassword;
  59. }
  60. /**
  61. * Define the command's schedule.
  62. *
  63. * @param \Illuminate\Console\Scheduling\Schedule $schedule
  64. * @return void
  65. */
  66. public function schedule(Schedule $schedule): void
  67. {
  68. // $schedule->command(static::class)->everyMinute();
  69. }
  70. }