def main(self): parser = optparse.OptionParser() parser.add_option("-d", "--domain", dest="domains_arg", action="append", help="Domain to be monitored, might be used multiple times and supports regular expressions") parser.add_option("-v", "--verbose", dest="verbose_arg", default=False, action="store_true", help="Verbose mode") (options, args) = parser.parse_args() if not options.domains_arg or len(options.domains_arg) <1: # if domains_arg is not given parser.error('Domain not given') Configuration().fake_server_address = ("127.0.0.1", 0) Configuration().verbose_mode = options.verbose_arg Configuration().testcase_list = [CertificateInvalidCASignature, CertificateUnknownCA, CertificateSignedWithCA, CertificateSelfSigned, CertificateWrongCN, CertificateSignWithMD5, CertificateSignWithMD4, CertificateExpired, CertificateNotYetValid ] TestController.set_monitored_domains(options.domains_arg) proxy = ProxyServer(proxy_handler=ProxyHandlerCertificateTest) proxy.start()
def main(self): parser = optparse.OptionParser() parser.add_option("-d", "--domains", dest="domains_arg", help="Set a list of comma-separated domains") parser.add_option("-v", "--verbose", dest="verbose_arg", default=False, action="store_true", help="Verbose mode") (options, args) = parser.parse_args() if not options.domains_arg: # if domains_arg is not given parser.error('Domain not given') domain_list = options.domains_arg.split(",") Configuration().fake_server_address = ("127.0.0.1", 0) Configuration().verbose_mode = options.verbose_arg Configuration().testcase_list = [CertificateInvalidCASignature, CertificateUnknownCA, CertificateSignedWithCA, CertificateSelfSigned, CertificateWrongCN, CertificateSignWithMD5, CertificateSignWithMD4, CertificateExpired, CertificateNotYetValid ] TestController.set_monitored_domains(domain_list) proxy = ProxyServer(proxy_handler=ProxyHandlerCertificateTest) proxy.start()
def main(self): Configuration().fake_server_address = ("127.0.0.1", 0) Configuration().verbose_mode = True Configuration().testcase_list = [ ProxyTestSuite.CertificateInvalidCASignature, ProxyTestSuite.CertificateUnknownCA, ProxyTestSuite.CertificateSignedWithCA, ProxyTestSuite.CertificateSelfSigned, ProxyTestSuite.CertificateWrongCN, ProxyTestSuite.CertificateSignWithMD5, ProxyTestSuite.CertificateSignWithMD4, ProxyTestSuite.CertificateExpired, ProxyTestSuite.CertificateNotYetValid ] TestProxyModeController.set_monitored_domains(["www.facebook.com"]) ProxyAddress = ("127.0.0.1", 4444) proxy = ProxyServer(server_address=ProxyAddress, proxy_handler=ProxyHandlerCertificateTest) proxy.start()
def new_server(messageobj): s = ProxyServer(messageobj['ip'], messageobj['name']) if s.name not in ProxyServers: ProxyServers[s.name] = s print("[!!!] New server registered, named %s with ip %s" % (messageobj['name'], messageobj['ip']))
import SAMP import json import re import uuid import random from ProxyServer import ProxyServer server = ProxyServer("0.0.0.0:7774") #server = ProxyServer("127.0.0.1:7774") #conn = SAMP.Client() #conn.conn_accepted_handler = (proxy_client_accepted) #conn.rpc_handler = (proxy_client_rpc_hndlr) #conn.sync_handler = (proxy_client_sync_hndlr) #conn.Connect("127.0.0.1:7777")
def main(self): parser = optparse.OptionParser() parser.add_option( "-d", "--domain", dest="domains_arg", action="append", help= "Domain to be monitored, might be used multiple times and supports regular expressions (Only valid for proxy mode)" ) parser.add_option("-p", "--port", dest="port_arg", action="store", default="8080", help="port to listen") parser.add_option("-m", "--mode", dest="mode_arg", action="store", default="proxy", help="Operation mode: proxy or standalone") parser.add_option( "-i", "--hostname", dest="host_arg", action="store", default="localhost", help= "Hostname: the IP address or Domain name that the certificate CN will stand for (Only valid for standalone mode)" ) parser.add_option("-v", "--verbose", dest="verbose_arg", default=False, action="store_true", help="Verbose mode") (options, args) = parser.parse_args() if options.verbose_arg: print "-Info: verbose mode enabled" Configuration().verbose_mode = options.verbose_arg if not options.port_arg: print "-Info: port not specified, using 8080" port = int(options.port_arg, 10) if options.mode_arg == "proxy": if not options.domains_arg or len( options.domains_arg) < 1: # if domains_arg is not given parser.error("-Error: target domain was not specified") Configuration().fake_server_address = ("127.0.0.1", 0) # Define the test cases Configuration().testcase_list = [ ProxyTestSuite.CertificateInvalidCASignature, ProxyTestSuite.CertificateUnknownCA, ProxyTestSuite.CertificateSignedWithCA, ProxyTestSuite.CertificateSelfSigned, ProxyTestSuite.CertificateWrongCN, ProxyTestSuite.CertificateSignWithMD5, ProxyTestSuite.CertificateSignWithMD4, ProxyTestSuite.CertificateExpired, ProxyTestSuite.CertificateNotYetValid ] # Set the domains that will be tracked TestProxyModeController.set_monitored_domains(options.domains_arg) # Start the Proxy to Trap Connections to targeted domains proxy = ProxyServer(server_address=("0.0.0.0", port), proxy_handler=ProxyHandlerCertificateTest) proxy.start() elif options.mode_arg == "standalone": Configuration().fake_server_address = ("0.0.0.0", port) Configuration().testcase_list = [ StandaloneTestSuite.CertificateInvalidCASignature, StandaloneTestSuite.CertificateUnknownCA, StandaloneTestSuite.CertificateSignedWithCA, StandaloneTestSuite.CertificateSelfSigned, StandaloneTestSuite.CertificateWrongCN, StandaloneTestSuite.CertificateSignWithMD5, StandaloneTestSuite.CertificateSignWithMD4, StandaloneTestSuite.CertificateExpired, StandaloneTestSuite.CertificateNotYetValid ] if not options.host_arg: print "-Warning: hostname not given, using 'localhost'" StandaloneServer().start(options.host_arg) else: parser.error('-Error: Unsupported mode')
from ProxyServer import ProxyServer if __name__ == '__main__': server = ProxyServer('0.0.0.0', 9084) try: server.run() except KeyboardInterrupt: print "Ctrl C - Stopping server" exit(1)
from ProxyServer import ProxyServer if (__name__ == "__main__"): proxyServer = ProxyServer("config.json") proxyServer.run()