def launch(self): """ Main function for the module """ print("[{}] Attempting to open port {}".format(self.name, self.port)) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.settimeout(5) s.bind(('0.0.0.0', self.port)) s.listen(5) string = "" while True: c, addr = s.accept() print(str(addr) + " is connected") try: string = c.recv(4096).decode() except (socket.error, socket.timeout) as e: print("Connection closed") message = amx_comm.create_message(\ addr[0], self.port, self.name, 1, "Conn established") message.send(self.queue) continue if len(string) == 0: message = amx_comm.create_message(\ addr[0], self.port, self.name, 1, "Conn established") matches = re.search('(?<=(GET\s)).*', string) if matches != None: getmess = matches.group(0).rstrip() print("GET requested {}".format(getmess)) message = amx_comm.create_message(\ addr[0], self.port, self.name, 2, \ "GET request: {}".format(getmess)) message.send(self.queue) c.close() s.close()
def launch(self): """ Main function for the module """ print("Consider thyself launched") s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(('0.0.0.0', self.port)) s.listen(5) while True: c, addr = s.accept() print(str(addr) + " is connected") message = amx_comm.create_message(\ addr[0], self.port, self.name, 1, "Conn established") message.send(self.queue) c.close() s.close()
def launch(self): """ Main function for the module """ print("[{}] Attempting to open socket on port {}".format(self.name, self.port)) print("[{}] Banner is {}".format(self.name, self.banner)) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(('0.0.0.0', self.port)) s.listen(5) level = 0 string = "" username = "" passwd = "" while True: level = 0 username = None passwd = None c, addr = s.accept() print(str(addr) + " is connected") level = 1 c.settimeout(60) try: c.send(("220 " + self.banner + "\n").encode()) except socket.error as e: print(e) continue try: string = c.recv(1024).decode() except socket.error: message = amx_comm.create_message(\ addr[0], self.port, self.name, 1, \ "Connection established, no further action") message.send(self.queue) continue matches = re.search('(?<=(USER\s)).*(?=$)', string) if matches != None: username = matches.group(0).rstrip() print("Username is {}".format(username)) else: c.close() try: c.send("331 Password required to access user account {}\n".format(username).encode()) string = c.recv(1024).decode() except socket.error: message = amx_comm.create_message(\ addr[0], self.port, self.name, 2, \ "Identification attempt with username {}".format(username)) message.send(self.queue) continue matches = re.search('(?<=(PASS\s)).*', string) if matches != None: passwd = matches.group(0).rstrip() print("Password is {}".format(passwd)) else: c.close() if passwd != "": message = amx_comm.create_message(\ addr[0], self.port, self.name, 3, \ "Identification attempt with {} : {}".format(\ username, passwd)) message.send(self.queue) else: message = amx_comm.create_message(\ addr[0], self.port, self.name, 2, \ "Identification attempt with username {}".format(username)) message.send(self.queue) c.close() s.close()