import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import nmap
class PortScanner(QMainWindow):
def __init__(self):
super(PortScanner, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Port Scanner')
self.setGeometry(300, 300, 300, 200)
ip_label = QLabel('IP address:', self)
ip_label.move(20, 20)
self.ip_input = QLineEdit(self)
self.ip_input.move(90, 20)
self.ip_input.resize(180, 20)
port_label = QLabel('Port range:', self)
port_label.move(20, 50)
self.port_input = QLineEdit(self)
self.port_input.move(90, 50)
self.port_input.resize(180, 20)
scan_button = QPushButton('Scan', self)
scan_button.move(200, 80)
scan_button.clicked.connect(self.scan)
self.results_box = QTextEdit(self)
self.results_box.move(20, 110)
self.results_box.resize(260, 80)
self.show() def scan(self):
ip = self.ip_input.text()
ports = self.port_input.text()
nm = nmap.PortScanner()
nm.scan(ip, ports)
self.results_box.setText(nm.csv())
if __name__ == '__main__':
app = QApplication(sys.argv)
scanner = PortScanner()
sys.exit(app.exec_())