import subprocess import tkinter as tk from tkinter import messagebox, scrolledtext from tkinter import ttk def check_unused_ips(): # 初始化 ip_range = entry.get() unused_ips = [] progress_bar['maximum'] = 254 progress_bar['value'] = 0 output.delete(1.0, tk.END) for i in range(1, 255): ip = ip_range + '.' + str(i) response = subprocess.call(['ping', '-n', '1', '-w', '1', ip], stdout=subprocess.PIPE) if response == 1: unused_ips.append(ip) progress_bar['value'] += 1 window.update_idletasks() # 更新窗口的空闲任务 if len(unused_ips) > 0: for i in range(0, len(unused_ips), 10): output.insert(tk.END, "\n".join(unused_ips[i:i + 10]) + "\n") output.insert(tk.END, "====================\n") else: output.insert(tk.END, "该网段中没有未使用的IP地址\n") window = tk.Tk() window.title("未使用的IP地址检测工具") window.geometry("400x400") label = tk.Label(window, text="请输入要检测的网段(例如:175.19