Example #1
0
    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()
Example #2
0
    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()
Example #3
0
 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']))
Example #5
0
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")
Example #6
0
    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')
Example #7
0
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)
Example #8
0
from ProxyServer import ProxyServer

if (__name__ == "__main__"):
    proxyServer = ProxyServer("config.json")
    proxyServer.run()