python实现图形化界面端口扫描工具

这是一个使用Python实现的图形化界面端口扫描工具,通过Tkinter库创建界面,并结合socket和threading模块进行多线程扫描。目前功能已初步搭建,但仍有两个功能待完善。
摘要由CSDN通过智能技术生成

#!/usr/bin/env python

-- coding: utf-8 --

import os
import socket, threading
from tkinter import *
import time

LOG_LINE_NUM = 0

class MY_GUI():
def init(self, init_window_name):
self.init_window_name = init_window_name

def set_init_window(self):
    self.init_window_name.title("端口扫描工具_v1.0")
    self.init_window_name.geometry('1068x681+10+10')

    self.init_data_label = Label(self.init_window_name, text="IP地址:")
    self.init_data_label.grid(row=0, column=0)
    self.init_port_label = Label(self.init_window_name, text="端口:")
    self.init_port_label.grid(row=6, column=0)
    self.log_label = Label(self.init_window_name, text="日志:")
    self.log_label.grid(row=12, column=0)
    self.result_desPort_label = Label(self.init_window_name, text=&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Python的Tkinter模块创建一个图形用户界面的端口扫描程序。以下是一个示例代码: ```python import socket import tkinter as tk class PortScanner: def __init__(self, master): self.master = master master.title("Port Scanner") self.label_host = tk.Label(master, text="Host:") self.label_host.pack() self.entry_host = tk.Entry(master) self.entry_host.pack() self.label_start = tk.Label(master, text="Start Port:") self.label_start.pack() self.entry_start = tk.Entry(master) self.entry_start.pack() self.label_end = tk.Label(master, text="End Port:") self.label_end.pack() self.entry_end = tk.Entry(master) self.entry_end.pack() self.button_scan = tk.Button(master, text="Scan", command=self.scan_ports) self.button_scan.pack() self.text_result = tk.Text(master) self.text_result.pack() def scan_ports(self): host = self.entry_host.get() start_port = int(self.entry_start.get()) end_port = int(self.entry_end.get()) self.text_result.delete("1.0", tk.END) for port in range(start_port, end_port + 1): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(2) try: s.connect((host, port)) self.text_result.insert(tk.END, f"Port {port} on {host} is open\n") except socket.error: self.text_result.insert(tk.END, f"Port {port} on {host} is closed\n") s.close() root = tk.Tk() scanner = PortScanner(root) root.mainloop() ``` 该代码将创建一个简单的窗口,其中包含输入主机、起始端口和结束端口的文本框和扫描按钮。当用户点击扫描按钮时,程序将扫描指定主机上的指定端口范围,并将结果显示在文本框中。你可以根据需要修改代码来添加更多功能和改进用户界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值