gold-goblin
06.01.2009, 01:54
Я только начинаю его учить...
Тут набросал маленькую программку.
сервер
import socket
import os
print 'vvedite ima polzovatela dla podklychenia?'
name = raw_input("--> ")
print 'vvedite parol dla dostypa'
pass = raw_input("--> ")
sock = socket(AF_UNIX, SOCK_STREAM)
sock.bind(("",8888))
sock.listen(1)
while 1:
client,addr = s.accept()
sock.connect((client, addr))
print "podklychilsa ",addr
client.send('name?')
paket = s.recv(2048)
if paket == (' ', pass,' ', name):
client.send('est kontakt')
# Здесь получаем и выполняем команды в цикле
for targar in -1:
paket = s.recv(2048)
cmd = os.popen("C:\\windows\system32\cmd.exe", paket)
print 'popitka vipolnit komandy' paket
otvet_cmd = cmd.read()
print 'rezyltat vipolnenia' otvet_cmd
client.send(otvet_cmd)
# надо сделать выход из цикла =)
# здесь запись в лог фаил (это надо сделать как доп опцию
else:
client.send('net kontakta')
Клиент
import socket
print 'vibirite vashu OS'
print '1 - Windows'
print '2 - Linux'
sistem = raw_input("--> ")
if sistem == 1:
sock = socket(AF_INET, SOCK_STREAM)
elif sistem == 2:
sock = socket(AF_UNIX, SOCK_STREAM)
print 'adres servera'
server = raw_input("--> ")
print 'port servera'
port = raw_input("--> ")
sock.connect((server,port))
paket = s.recv(2048)
if paket == name?:
print 'vvedite ima'
name = raw_input("--> ")
print 'vvedite pass'
pass = raw_input("--> ")
client.send(' ', pass,' ', name)
paket = s.recv(2048)
if paket == est kontakt:
print 'gotov k peredache komandi'
# Тут швыряем команды в бесконечном цикле =)
for targar in -1:
komanda = raw_input("--> ")
client.send(komanda)
print 'rezyltat vipolnenia'
paket = s.recv(2048)
print paket
# надо сделать выход из цикла
elif paket == net kontakta:
print 'avtorizachija ne ydolas'
s.close()
У меня при запуске выдает кучу ошибок.... если кому не сложно подскажите почему там ошибка (что я сделал не правельно) с меня +
Тут набросал маленькую программку.
сервер
import socket
import os
print 'vvedite ima polzovatela dla podklychenia?'
name = raw_input("--> ")
print 'vvedite parol dla dostypa'
pass = raw_input("--> ")
sock = socket(AF_UNIX, SOCK_STREAM)
sock.bind(("",8888))
sock.listen(1)
while 1:
client,addr = s.accept()
sock.connect((client, addr))
print "podklychilsa ",addr
client.send('name?')
paket = s.recv(2048)
if paket == (' ', pass,' ', name):
client.send('est kontakt')
# Здесь получаем и выполняем команды в цикле
for targar in -1:
paket = s.recv(2048)
cmd = os.popen("C:\\windows\system32\cmd.exe", paket)
print 'popitka vipolnit komandy' paket
otvet_cmd = cmd.read()
print 'rezyltat vipolnenia' otvet_cmd
client.send(otvet_cmd)
# надо сделать выход из цикла =)
# здесь запись в лог фаил (это надо сделать как доп опцию
else:
client.send('net kontakta')
Клиент
import socket
print 'vibirite vashu OS'
print '1 - Windows'
print '2 - Linux'
sistem = raw_input("--> ")
if sistem == 1:
sock = socket(AF_INET, SOCK_STREAM)
elif sistem == 2:
sock = socket(AF_UNIX, SOCK_STREAM)
print 'adres servera'
server = raw_input("--> ")
print 'port servera'
port = raw_input("--> ")
sock.connect((server,port))
paket = s.recv(2048)
if paket == name?:
print 'vvedite ima'
name = raw_input("--> ")
print 'vvedite pass'
pass = raw_input("--> ")
client.send(' ', pass,' ', name)
paket = s.recv(2048)
if paket == est kontakt:
print 'gotov k peredache komandi'
# Тут швыряем команды в бесконечном цикле =)
for targar in -1:
komanda = raw_input("--> ")
client.send(komanda)
print 'rezyltat vipolnenia'
paket = s.recv(2048)
print paket
# надо сделать выход из цикла
elif paket == net kontakta:
print 'avtorizachija ne ydolas'
s.close()
У меня при запуске выдает кучу ошибок.... если кому не сложно подскажите почему там ошибка (что я сделал не правельно) с меня +