-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnmapexecute1.py
64 lines (57 loc) · 2.08 KB
/
nmapexecute1.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
import sys
import gobject
from calais import *
from nmap import *
try:
import gtk
import pygtk
except:
print("gtk is not available")
sys.exit(1)
class nmap1:
def __init__(self):
self.glade = "nmapnew.glade"
self.builder = gtk.Builder()
self.builder.add_from_file(self.glade)
self.window = self.builder.get_object("window1")
dic = {"on_button1_clicked":self.scanning}
self.builder.connect_signals(dic)
def scanning(self, widget):
Store = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_STRING)
UrlData = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_STRING)
nm = PortScanner()
ip = self.builder.get_object('ipaddress').get_text()
nm.scan(hosts= ip, arguments='-n')
host_list = [(x, nm[x]['status']['state']) for x in nm.all_hosts()]
for host, status in host_list:
if status in 'up':
Store.append([host,status])
ctree = self.builder.get_object("treeview2")
ctree.set_model(Store)
#running services in the system
servicelist = []
urllist = {}
urllist = self.datacollection()
company = urllist.keys()
url = urllist.values()
for com in company:
for u in url:
UrlData.append([com,u])
ctree1 = self.builder.get_object("treeview1")
ctree1.set_model(UrlData)
def datacollection(self):
API_KEY = "pqxy23ena8cy6h7679vtp5h8"
calais = Calais(API_KEY,submitter="Vulnerability Alert Tool")
result = calais.analyze_url("http://www.us-cert.gov/channels/techalerts.rdf")
urllist = {}
for i in range(0,len(result.entities)):
if result.entities[i]["_type"] in "Company":
for j in range(i+1,len(result.entities)):
if result.entities[j]["_type"] in "URL":
urllist[result.entities[i]["name"]] = result.entities[j]["name"]
else:
break
return urllist
if __name__ == "__main__":
e = nmap1()
gtk.main()