Added master part, setup and test scripts

This commit is contained in:
Sijisu 2019-09-25 19:54:16 +02:00
parent df59ddfc34
commit 06955ecfc4
3 changed files with 93 additions and 0 deletions

44
master.py Normal file
View File

@ -0,0 +1,44 @@
import socket
import sys
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
iplist = ('192.168.1.1','192.168.1.211','192.168.1.109','192.168.1.178','192.168.1.244','192.168.1.179','192.168.1.196','192.168.1.133','192.168.1.217')
class ColourArray:
def __init__(self, iplist=iplist):
self.sockets = {}
self.iplist = iplist
# Create a TCP/IP socket
for i in range(0, len(self.iplist)):
self.sockets[i] = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = (self.iplist[i], 10000)
eprint('connecting to {} port {}'.format(server_address[0], server_address[1]))
self.sockets[i].connect(server_address)
def send(self, colorData):
if len(self.sockets) != len(colorData):
eprint("Error: invalid color data")
for i in range(0,len(self.iplist)):
self.sendTo(i,colorData[i])
def sendTo(self, socketIndex, data):
self.sockets[socketIndex].sendall(self.translateData(data))
return
def close(self):
for i in range(0, len(self.sockets)):
self.close(i)
return
def closeTo(self, socketIndex):
self.sockets[socketIndex].close()
return
def translateData(self, colorData):
outputString = ""
for i in colorData:
outputString += "{} {} {}\n".format(i[0],i[1],i[2])
return (outputString + "\n").encode("UTF-8")

10
setup.py Normal file
View File

@ -0,0 +1,10 @@
from pwn import *
from master import ColourArray
s = {}
ips = ColourArray().iplist
for i in range(0, len(ips)):
s[i] = ssh(host=ips[i],user='root',password='GNpvfm5%%')
s[i].shell('/bin/bash', tty=True)
s[i].run('echo 0 > /sys/class/leds/omnia-led:all/autonomous')
s[i].run_to_end('python3 /root/slave.py & disown') # this isn't working properly, we ended up starting the script manually on each device

39
test.py Normal file
View File

@ -0,0 +1,39 @@
from master import ColourArray
from time import sleep
testColorData = [[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]],
[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]],
[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]],
[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]],
[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]],
[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]],
[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]],
[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]],
[[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255],[255,255,255]]]
colorful = [[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]],
[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]],
[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]],
[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]],
[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]],
[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]],
[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]],
[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]],
[[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0],[0,255,0],[255,255,255],[255,0,255],[0,255,255],[255,255,0],[0,0,255],[255,0,0]]]
rainbow = [[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]],
[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]],
[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]],
[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]],
[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]],
[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]],
[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]],
[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]],
[[255,0,0],[255,127,0],[255,255,0],[127,255,0],[0,255,0],[0,255,127],[0,255,255],[0,127,255],[0,0,255],[255,0,255]]]
c = ColourArray()
while True:
c.send(testColorData)
sleep(2)
c.send(colorful)
sleep(2)
c.send(rainbow)
sleep(2)