1

Я работаю в лаборатории для класса кибербезопасности и должен выяснить, когда определенные пользователи общаются друг с другом (через именованные каналы).

Пользователи используют:

python gameProgram.py

И затем этот процесс принимает входные данные и записывает их в именованные каналы.

Я знаю файл /dev /random, который изменяется, когда кто-то печатает, но он не может сказать мне, КТО это печатает, верно?

Я думаю об использовании чего-то вроде:

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

Я, честно говоря, застрял. Выше просто возвращает целое число. Плюс мне нужно как-то получить номер процесса. Сейчас я пытаюсь создать скрипт, который позволит мне перейти от (A) списка запущенных процессов к (B) выводу имени пользователя, когда этот пользователь печатает. И, к сожалению, никаких привилегий sudo.

Мне нужно сделать что-то вроде:

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

Вроде, как бы, что-то вроде ...?

Любая помощь будет принята с благодарностью!

1 ответ1

0

Цель этого упражнения - научить вас мыслить по-другому, поэтому ответ с помощью 20-строчного сценария bash, который поможет решить вашу проблему, на самом деле не поможет. Чтобы поставить вопрос в некоторых других словах

Как пользователь Alice, используя только стандартные команды Unix, может определить, активен ли пользователь Bob / печатает ли он?

Один из способов решить эту проблему - просмотреть всю информацию, которую Боб (или процессы, выполняемые Бобом) "просачивают" через стандартную функциональность Unix, в данном случае в первую очередь это таблица процессов (к которой обращаются ps , top и куча других). инструменты). Чтобы узнать, какая информация доступна, лучше всего поэкспериментировать:

  • Войдите один раз и запустите python gameProgram.py с вашим другом (ничего не печатайте, пусть просто простаивает)
  • Войдите со вторым сеансом и используйте ps чтобы посмотреть на процесс python . Изменяется ли какая-либо информация, пока никто не печатает, или все остается одинаковым между разными вызовами ps?
  • Начните печатать / общаться с вашим другом
  • Снова используйте ps чтобы увидеть, изменилось ли что-нибудь в выводе сейчас (что-то, по крайней мере, изменится). Можете ли вы использовать это в ваших интересах?

Как только вы соберете основы (то есть узнаете, какая информация из ps важна для определения активности пользователя), объедините все вместе в сценарии оболочки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .