Заказ закрыт
Доработать скрипт на Phyton

Бюджет: 1 000 руб
12.90 $ – 11.30 €
Есть код который должен слушать порт на сервере и при подключении к нему клиента по telnet на порт 52001, этот скрипт должен выполнять по команде  (например get srvstat) некоторые консольные программы.
Нужно заставить пользователя идентифицировать себя, например создав базу паролей и при введении указанного в базе пароля разрешать ввод дальнейших команд при выполнении которых происходила бы запись в журнал с указанием имени пользователя сопоставленного по паролю и времени запуска команды.

#!/usr/bin/python
import os. re
from socket import *
class Srvstat:
    def __init__(self, host='serverhost.ru', port=52001):
        self.socket = socket(AF_INET, SOCK_STREAM)
        self.socket.bind((host, port))
        self.socket.listen(5)
    def process(self):
            while 1:
               csocket, caddress = self.socket.accept()
               csocket.send('Connection established. Ready for request.n')
                 while 1:
                    request = csocket.recv(64)
                    if re.match('gets+srvstat', request, re.IGNORECASE):
csocket.send(os.popen('/usr/bin/vmstat 1 10').read())
csocket.send(os.popen('/usr/bin/netstat -ta').read())
                   elif re.match('quit', request, re.IGNORECASE):
                               break
                        else:
csocket.send('Unknown command.n')
                   csocket.close()
if __name__ == '__main__':
             serv = Srvstat()
             serv.process()
Опубликован 21.01.2016 в 01:39 Последнее изменение: 21.01.2016 в 01:56
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.