-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathciscn.py
100 lines (78 loc) · 2.69 KB
/
ciscn.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import sys
import logging
def logs(filename='logs.txt', level=logging.DEBUG):
logger = logging.getLogger(__name__)
logger.setLevel(level)
fh = logging.FileHandler(filename)
fh.setLevel(level)
ch = logging.StreamHandler()
ch.setLevel(level)
formatter = logging.Formatter(
"[%(asctime)s]\t[%(thread)d]\t[%(filename)s]\t[line: %(lineno)d]\t[%(levelname)s]\t#%(message)s")
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
return logger
if __name__ == "__main__":
logger = logs(level=logging.INFO)
logger.info("Program Start")
argv = [x.lower() for x in sys.argv]
if "--mysql" in argv or "-m" in argv:
logger.debug("Database: Mysql")
import mysqldb
db = mysqldb.db(logger)
else:
logger.debug("Database: Sqlite")
import sqlite
db = sqlite.db(logger)
import default
for item in default.ip_src:
db.add_scan(item)
if "--scan" in argv or "-s" in argv:
logger.debug("SCAN Mode")
import scan
if "scan-fscan" in argv:
app = scan.app(db, logger, method="scan-fscan")
else:
app = scan.app(db, logger)
if "--port" in argv or "-p" in argv:
logger.debug("PORT Mode")
import port
if "port-allscan" in argv:
app = port.app(db, logger, method="port-allscan")
elif "port-fscan" in argv:
app = port.app(db, logger, method="port-fscan")
elif "port-fofa" in argv:
app = port.app(db, logger, method="port-fofa")
else:
app = port.app(db, logger)
if "--services" in argv or "-se" in argv:
logger.debug("SERVICES Mode")
import services
if "services-fscan-protocol" in argv:
app = services.app(db, logger, method="services-fscan-protocol")
else:
app = services.app(db, logger)
if "--honeypot" in argv or "-h" in argv:
logger.debug("HONEYPOT Mode")
import honeypot
if "honeypot-quake" in argv:
app = honeypot.app(db, logger, method="honeypot-quake")
elif "honeypot-quake-dump" in argv:
app = honeypot.app(db, logger, method="honeypot-quake-dump")
else:
app = honeypot.app(db, logger)
if "--output" in argv:
logger.debug("OUTPUT Mode")
import output
if len(argv) > 1:
app = output.app(db, logger, name=argv[1])
else:
app = output.app(db, logger, name=argv)
if "--scale" in argv:
logger.debug("SCALE Mode")
import time
import random
time.sleep(random.randint(1, 60))
app.run()