cowrie/bin/createdynamicprocess.py

41 lines
1.3 KiB
Python
Executable File

import datetime
import json
import random
import psutil
command = {}
command['command'] = {}
command['command']['ps'] = []
randomStates = ["Ss", "S<", "D<", "Ss+"]
for proc in psutil.process_iter():
try:
info = proc.as_dict(
attrs=['pid', 'name', 'cmdline', 'username', 'cpu_percent', 'memory_percent', 'memory_info', 'create_time',
'terminal', 'status', 'cpu_times'])
except psutil.NoSuchProcess:
pass
else:
object = {}
object['USER'] = info['username']
object['PID'] = info['pid']
if info['cmdline']:
object['COMMAND'] = "/".join(info['cmdline'])
else:
object['COMMAND'] = '[ ' + info['name'] + ' ]'
object['CPU'] = info['cpu_percent']
object['MEM'] = info['memory_percent']
object['RSS'] = info['memory_info'].rss
object['VSZ'] = info['memory_info'].vms
object['START'] = datetime.datetime.fromtimestamp(info['create_time']).strftime("%b%d")
if info['terminal']:
object['TTY'] = str(info['terminal']).replace("/dev/", "")
else:
object['TTY'] = "?"
object['STAT'] = random.choice(randomStates)
object['TIME'] = info['cpu_times'].user
command['command']['ps'].append(object)
print(json.dumps(command, indent=4, sort_keys=True))