@@ -71,12 +71,36 @@ def debug():
7171 print key , '=>' , value
7272 return
7373
74+ # dump keystore to text
75+ @staticmethod
76+ def dump ():
77+ dump = ""
78+ with KeyStore .db .cursor () as cursor :
79+ for key , values in cursor :
80+ values = ast .literal_eval (values )
81+ for value in values :
82+ dump += "\n " + key + "/" + value
83+ return dump
84+
85+ # save keystore to file
86+ @staticmethod
87+ def save (filename ):
88+ Utils .writeFile (Keystore .dump (), filename )
89+ return
90+
91+ # load keystore from file
92+ @staticmethod
93+ def load (filename ):
94+ lines = Utils .readFile (filename )
95+ for line in lines :
96+ KeyStore .add (line )
97+ return
98+
7499# -----------------------------------------------------------------------------
75100# main test code
76101# -----------------------------------------------------------------------------
77102if __name__ == "__main__" :
78103 print "-------------------------------------------------------------------"
79- KeyStore .debug ()
80104 # KeyStore.add("host/1.2.3.4/port/111")
81105 # KeyStore.add("host/a.b.c.d/port/80")
82106 # KeyStore.add("host/a.b.c.d/port/80/bob")
@@ -91,8 +115,10 @@ def debug():
91115 KeyStore .add ("host/4.4.4.4/port/25" )
92116 print "-------------------------------------------------------------------"
93117 KeyStore .debug ()
118+ print KeyStore .dump ()
94119
95120 print KeyStore .get ("host/*/port/80" )
121+ print KeyStore .get ("host" )
96122# KeyStore.add("service/http/host/1.1.1.1/tcpport/80/product/apache/version/1.1.1.1.1.1.1")
97123# KeyStore.add("service/http/host/1.1.1.1/tcpport/8080/product/apache/version/1.1.1.3.3.3.3")
98124# KeyStore.add("service/https/host/2.2.2.2/tcpport/443/product/nginx/version/a.b.c.d")
@@ -103,94 +129,3 @@ def debug():
103129# KeyStore.debug()
104130
105131# print KeyStore.get("service")
106- # print KeyStore.get("service/smtp/host/4.4.4.4/tcpport/25/product/sendmail/version")
107- # print json.dumps(kb, sort_keys=True, indent=4)
108-
109- # print "========= PORT 80 ========="
110- # print " SHOULD BE 1.1.1.1 2.2.2.2"
111- # kb=KeyStore.get("host/*/port/80")
112- # print json.dumps(kb, sort_keys=True, indent=4)
113- # print "========= PORT 443 ========="
114- # print " SHOULD BE 2.2.2.2"
115- # kb=KeyStore.get("host/*/port/443")
116- # print json.dumps(kb, sort_keys=True, indent=4)
117- # print "========= PORT 8080 ========="
118- # print " SHOULD BE 1.1.1.1"
119- # kb=KeyStore.get("host/*/port/8080")
120- # print json.dumps(kb, sort_keys=True, indent=4)
121- # print "========= SERVICE HTTP ========="
122- # print " SHOULD BE 1.1.1.1 2.2.2.2"
123- # kb=KeyStore.get("service/http/host")
124- # print json.dumps(kb, sort_keys=True, indent=4)
125- # print "========= SERVICE HTTPS ========="
126- # kb=KeyStore.get("service/https/host")
127- # print " SHOULD BE 2.2.2.2"
128- # print json.dumps(kb, sort_keys=True, indent=4)
129- #
130- # print "========= PORT 80 and SERVICE HTTP ========="
131- # print " SHOULD BE 1.1.1.1 2.2.2.2"
132- # kb=KeyStore.get(["service/http/host", "host/*/port/80"])
133- # print json.dumps(kb, sort_keys=True, indent=4)
134- ## for t in kb:
135- ## print
136- ## print t
137- ## kb2 = KeyStore.get('service/http/host/' + t + '/tcpport')
138- ## print json.dumps(kb2, sort_keys=True, indent=4)
139- #
140- # print "========= PORT 443 and SERVICE HTTPS ========="
141- # print " SHOULD BE 2.2.2.2"
142- # kb=KeyStore.get(["service/https/host", "host/*/port/443"])
143- # print json.dumps(kb, sort_keys=True, indent=4)
144- ## for t in kb:
145- ## print
146- ## print t
147- ## kb2 = KeyStore.get('service/https/host/' + t + '/tcpport')
148- ## print json.dumps(kb2, sort_keys=True, indent=4)
149- #
150- ## KeyStore.debug(kb=KeyStore.get("host/*/port"))
151- # #KeyStore.rm("host/a.b.c.d/port/80")
152- # #KeyStore.debug(kb=KeyStore.get("host/*/port"))
153- ## kb=KeyStore.get(["host/*/port/80", "host/*/port/111"])
154- ## KeyStore.debug(kb=KeyStore.get("host/*/port/80"))
155- ## KeyStore.debug(kb=KeyStore.get("host/*/port/111"))
156- ## kb=KeyStore.get(["host/*/port/111"])
157- #
158- ## print "-----------------------------"
159- ## kb=KeyStore.get("host/a.b.c.d/port")
160- ## print json.dumps(kb, sort_keys=True, indent=4)
161- ## print "-----------------------------"
162- ## kb=KeyStore.get("host/a.b.c.d/port/80")
163- ## print json.dumps(kb, sort_keys=True, indent=4)
164- ## print "-----------------------------"
165- ## kb=KeyStore.get("host/a.b.c.d/port/80/apple")
166- ## print json.dumps(kb, sort_keys=True, indent=4)
167- ## print "-----------------------------"
168- ## kb=KeyStore.get("host/a.b.c.d/port/80/dog")
169- ## print json.dumps(kb, sort_keys=True, indent=4)
170- ## print "-----------------------------"
171- ## kb=KeyStore.get(["host/a.b.c.d/port/80/apple"])
172- ## print json.dumps(kb, sort_keys=True, indent=4)
173- ## print "-----------------------------"
174- ## kb=KeyStore.get(["host/*/port/80"])
175- ## print json.dumps(kb, sort_keys=True, indent=4)
176- ## print "-----------------------------"
177- ## kb=KeyStore.get(["host/*/port/111"])
178- ## print json.dumps(kb, sort_keys=True, indent=4)
179- ## print "-----------------------------"
180- ## kb=KeyStore.get(["host/*/port/80", "host/*/port/111"])
181- ## print json.dumps(kb, sort_keys=True, indent=4)
182- ## print "-----------------------------"
183- ## kb=KeyStore.get(["host/*/port/80/apple"])
184- ## print json.dumps(kb, sort_keys=True, indent=4)
185- ## print "-----------------------------"
186- #
187- ## KeyStore.debug(kb = kb)
188- ## for t in kb:
189- ## print t
190- ## print kb[t]
191- ## KeyStore.debug()
192- # KeyStore.save("out.save")
193- ## KeyStore.xml()
194- # #KeyStore.debug()
195- # #KeyStore.load("out.save")
196- # #KeyStore.debug()
0 commit comments