Trying to get nmap working

This commit is contained in:
Will Bradley 2015-03-27 23:31:37 +00:00
parent c883e49ac3
commit e8cde9ecb9

View File

@ -27,19 +27,29 @@ encoding = locale.getpreferredencoding()
class Pinger: class Pinger:
internet_log = [] internet_log = []
router_log = [] router_log = []
count = 11 # start at 11 so the scan will run next time
def run(self): def run(self):
self.stdscr.clear() # clear window during each run # Run network scan every 12 runs (60 seconds)
if self.count%12 == 0:
self.stdscr.clear() # clear window every scan run (not every run)
self.subnet = IPNetwork(self.router_host+"/24")
scan_results = self.scan_network(self.subnet,"-T4",False,"80")
self.draw_scan(scan_results,4)
self.count = 1
# Increment counter for scan
self.count += 1
# Draw internet graph
internet_latency = self.ping(self.internet_host,self.internet_log) internet_latency = self.ping(self.internet_host,self.internet_log)
self.draw_log("Internet:",self.internet_host,self.internet_log,internet_latency,0) self.draw_log("Internet:",self.internet_host,self.internet_log,internet_latency,0)
# Draw router graph
router_latency = self.ping(self.router_host,self.router_log) router_latency = self.ping(self.router_host,self.router_log)
self.draw_log("Router:",self.router_host,self.router_log,router_latency,2) self.draw_log("Router:",self.router_host,self.router_log,router_latency,2)
scan_results = self.scan_network("-T4",False,"80")
self.draw_scan(scan_results,4)
# Schedule next run # Schedule next run
GObject.timeout_add_seconds(self.timeout, self.run) GObject.timeout_add_seconds(self.timeout, self.run)
@ -89,7 +99,7 @@ class Pinger:
def draw_scan(self,scan,line): def draw_scan(self,scan,line):
for idx,entry in enumerate(scan): for idx,entry in enumerate(scan):
self.stdscr.addstr(line+idx,0,str(idx)+str(entry),self.COL_DEFAULT) self.stdscr.addstr(line+idx,0,str(entry),self.COL_MUTE)
def interpret_ping(self, ping): def interpret_ping(self, ping):
ping = float(ping) ping = float(ping)
@ -132,7 +142,7 @@ class Pinger:
return str(socket.inet_ntoa(struct.pack("<L", int(fields[2], 16)))) return str(socket.inet_ntoa(struct.pack("<L", int(fields[2], 16))))
def scan_network(self,speed ="-T4",noPing = False,portRange = "1-65535"): def scan_network(self,subnet,speed ="-T4",noPing = False,portRange = "1-65535"):
""" """
The function NmapPortServiceScan is responsible for scanning a host The function NmapPortServiceScan is responsible for scanning a host
with Nmap using the correct arguments with Nmap using the correct arguments
@ -143,7 +153,7 @@ class Pinger:
@return lines: The host port scan results @return lines: The host port scan results
""" """
ipNet = IPNetwork(self.router_host) ipNet = subnet
#Creating a list of hosts #Creating a list of hosts
hosts = list(ipNet) hosts = list(ipNet)
@ -156,7 +166,7 @@ class Pinger:
#Creating a list of hosts in string format. #Creating a list of hosts in string format.
hostList = [str(host) for host in hosts] hostList = [str(host) for host in hosts]
for host in hosts: for host in hostList:
lines = "" lines = ""