Scrivere uno script per dire quali utenti stanno digitando? [chiuso]


1

Sto lavorando a un laboratorio per un corso di sicurezza informatica e ho bisogno di sapere quando alcuni utenti stanno comunicando tra loro (tramite named pipe).

Gli utenti utilizzano:

python gameProgram.py

E poi quel processo prende input e lo scrive nelle pipe nominate.

Conosco il file / dev / random che viene modificato quando qualcuno digita, ma che non può dirmi CHI sta scrivendo, giusto?

Sto pensando di usare qualcosa come:

grep "voluntary_switches" /proc/####/sched

Sono sinceramente piuttosto bloccato. Quanto sopra restituisce solo un numero intero. Inoltre, devo ottenere il numero di processo in qualche modo. Ora sto lottando per trovare uno script che mi lascerà passare da (A) un elenco di processi in esecuzione a (B) in uscita un nome utente quando l'utente sta digitando. E sfortunatamente nessun privilegio di sudo.

Devo fare qualcosa sulla falsariga di:

echo 'ps | grep "python" |    ???    |  grep "voluntary_switches"'

Una specie di ...?

Qualsiasi aiuto sarebbe molto apprezzato!

Risposte:


0

L'obiettivo dell'esercizio è allenarti in un modo diverso di pensare, quindi una risposta con uno script bash di 20 righe per risolvere il tuo problema non ti aiuterà davvero. Per porre la domanda in altre parole

Come può l'utente Alice, usando solo i comandi Unix standard, determinare se l'utente Bob è attivo / digitando?

Un modo per risolvere questo è quello di guardare tutte le informazioni Bob (o dei processi gestiti da Bob) sono "perdite" tramite le funzionalità standard di Unix, in questo caso, in primo luogo la tabella dei processi (a cui si accede da ps, tope un sacco di altri strumenti) . Per scoprire quali informazioni sono disponibili, è meglio sperimentare:

  • Accedi una volta e corri python gameProgram.pycon un tuo amico (non digitare nulla, lascialo inattivo)
  • Accedi con una seconda sessione e usa psper guardare il pythonprocesso. Qualche informazione cambia mentre nessuno sta digitando o tutto rimane uguale tra le diverse chiamate ps?
  • Inizia a digitare / chattare con il tuo amico
  • Usa di psnuovo per vedere se qualcosa cambia nell'output ora (qualcosa almeno lo farà). Puoi usarlo a tuo vantaggio?

Una volta che hai le basi (ovvero sapere quali informazioni pssono rilevanti per determinare l'attività dell'utente), combina tutto insieme in uno script di shell.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.