api
# coding:utf-8"""雷池API功能大全脚本,分多个模块。"""import osprint(os.getcwd())print('WAFapi')
syslog server
写接口自动化测试的时候需要自己搭一个syslog服务器,找到了一个udp协议的还挺好用
https://gist.github.com/marcelom/4218010
因为雷池还需要测tcp协议的,所以参考下面的文档完善了一下tcp的部分。
https://docs.python.org/3.4/library/socketserver.html
#!/usr/bin/env python3LOG_FILE = 'syslog.log'HOST, PORT = "0.0.0.0", 514MODE = 'udp'import sysimport getoptimport loggingimport socketserverclass SyslogUDPHandler(socketserver.BaseRequestHandler):def handle(self):self.data = bytes.decode(self.request[0].strip())socket = self.request[1]print( "%s : " % self.client_address[0], str(self.data))logging.info(str(self.data))class SyslogTCPHandler(socketserver.BaseRequestHandler):def handle(self):# self.request is the TCP socket connected to the clientself.data = self.request.recv(1024).strip()print("{} wrote:".format(self.client_address[0]))print(self.data)# just send back the same data, but upper-casedself.request.sendall(self.data.upper())logging.info(str(self.data))def show_help():"""Help message to display if bad arguments or help requested."""print('-------------------------------------------------------------------------------')print('')print(' -l <logfile> -- Specify the log file to write to. Default is pysyslog.log')print(' -p <port> -- Specify the port to listen on. Default is 514')print(' -i <host> -- Specify the IP address to listen on. Default is 0.0.0.0')print(' -m <mode> -- Specify the mode tcp or udp. Default is udp')print('')print('Example:')print(' python3 server_server.py -l syslog.log -p 514 -i 192.168.12.1 -m udp ')print('-------------------------------------------------------------------------------')sys.exit(2)def main(argv):logfile = LOG_FILEhost = HOSTport = PORTmode = MODEtry:opts, args = getopt.getopt(argv, "hl:p:i:m:", ["logfile=", "port=", "host=","mode="])except getopt.GetoptError:show_help()for opt, arg in opts:if opt == '-h':show_help()sys.exit()elif opt in ("-l", "--logfile"):logfile = argelif opt in ("-p", "--port"):port = int(arg)elif opt in ("-i", "--host"):host = argelif opt in ("-m", "--mode"):if arg!='tcp':mode = 'udp'else:mode = argprint(' Writing to: {}'.format(logfile))print(' Listening on: {}'.format(port))print(' Bound to: {}'.format(host))print(' Bound to: {}'.format(mode))print('')print('Starting Server, press Ctrl+C to shutdown.')print('')logging.basicConfig(level=logging.INFO, format='%(message)s', datefmt='', filename=logfile, filemode='a')if mode=='tcp':try:#server = socketserver.UDPServer((HOST,PORT), SyslogUDPHandler)server = socketserver.TCPServer((host, port), SyslogTCPHandler)server.serve_forever(poll_interval=0.5)except (IOError, SystemExit):raiseexcept KeyboardInterrupt:print ("Crtl+C Pressed. Shutting down.")else:try:server = socketserver.UDPServer((host,port), SyslogUDPHandler)#server = socketserver.TCPServer((HOST, PORT), SyslogTCPHandler)server.serve_forever(poll_interval=0.5)except (IOError, SystemExit):raiseexcept KeyboardInterrupt:print ("Crtl+C Pressed. Shutting down.")if __name__ == "__main__":main(sys.argv[1:])
rtcp-master
把虚拟机的443转发到本机1443以便让局域网他人访问
./rtcp.py l:1443 c:10.211.55.19:443
https://github.com/knownsec/rtcp
