def search_hosts(network,win): p = QtCore.QProcess() pBar = PBarDlg(win) pBar.show() p.start(utils.completePath("nmap"), ["-n", "-sP", "-oG", "-", network]) while not p.waitForFinished(30): QtGui.QApplication.processEvents() dta = p.readAll() m = re.findall('Host: (\S+) .* Up',str(dta)) pBar.close() return m
def get_macs(hosts): p = QtCore.QProcess() p.start(utils.completePath("arp"), ["-n"]) p.waitForFinished(-1) dta = p.readAll() macs = {} for h in hosts: macs[h] = None m = re.search(h + '\s+ether\s+(\S+)', str(dta)) if m: macs[h] = m.group(1).lower() return macs
def execCluster(self): d = ClusterDlg() if not d.exec_(): return us = d.username.text() tl = "-G" if d.tileWindows.isChecked(): tl = "-g" hosts = [] for h in self.filteredList: hosts.append(str(h.ip)) pid = os.fork() if pid == 0: os.execl(utils.completePath("cssh"), "cssh", tl, "-l" + us, *hosts)