From 0a646bb0177fa8b7cb12ce4d01cb96bf44e7d13e Mon Sep 17 00:00:00 2001 From: qsc20001102 Date: Fri, 31 Oct 2025 15:57:36 +0800 Subject: [PATCH] 12 --- app.log | 35 +++++++ .../__pycache__/ping_fun.cpython-313.pyc | Bin 5468 -> 9986 bytes core/Function/ping_fun.py | 72 ++++++++++++- core/ui/__pycache__/basic_ui.cpython-313.pyc | Bin 4026 -> 4057 bytes core/ui/__pycache__/tab_ping.cpython-313.pyc | Bin 7047 -> 9253 bytes core/ui/basic_ui.py | 6 +- core/ui/tab_ping.py | 96 ++++++++++++------ 7 files changed, 174 insertions(+), 35 deletions(-) diff --git a/app.log b/app.log index f28a2b5..ab268c5 100644 --- a/app.log +++ b/app.log @@ -234,3 +234,38 @@ 2025-10-31 14:33:40,697 [INFO] 停止由 Ping 2025-10-31 14:49:43,147 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log 2025-10-31 14:49:48,110 [INFO] 停止Ping +2025-10-31 14:58:38,388 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 14:59:33,663 [INFO] 开始Ping www.feixiangdayezhu.top +2025-10-31 14:59:36,241 [INFO] 停止Ping www.feixiangdayezhu.top +2025-10-31 14:59:39,525 [INFO] 开始由 Ping www.feixiangdayezhu.top +2025-10-31 14:59:42,345 [INFO] 停止由 Ping www.feixiangdayezhu.top +2025-10-31 15:01:36,902 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:02:00,585 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:03:20,413 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:04:37,391 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:05:43,467 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:06:28,952 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:07:24,602 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:08:36,439 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:09:05,633 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:11:01,416 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:11:41,046 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:11:54,147 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:11:55,877 [INFO] 开始由 Ping 127.0.0.1 +2025-10-31 15:11:59,513 [INFO] 停止由 Ping 127.0.0.1 +2025-10-31 15:12:01,021 [INFO] 开始由 Ping 127.0.0.1 +2025-10-31 15:12:05,691 [INFO] 停止由 Ping 127.0.0.1 +2025-10-31 15:31:50,086 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:32:43,390 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:33:36,375 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:40:33,765 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:41:13,921 [INFO] 开始由 Ping www.feixiangdayezhu.top +2025-10-31 15:41:20,661 [INFO] 停止由 Ping www.feixiangdayezhu.top +2025-10-31 15:51:03,844 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:51:22,946 [INFO] 开始由 Ping www.feixiangdayezhu.top +2025-10-31 15:51:26,928 [INFO] 停止由 Ping www.feixiangdayezhu.top +2025-10-31 15:56:35,413 [INFO] 日志系统初始化完成,日志文件路径:E:\Git\Network-tools\app.log +2025-10-31 15:56:41,068 [INFO] 开始批量 Ping 192.168.1.1 - 192.168.1.255 +2025-10-31 15:57:02,030 [INFO] 开始由192.168.10.1 批量 Ping 192.168.1.1 - 192.168.1.255 +2025-10-31 15:57:05,860 [INFO] 开始由192.168.10.1 批量 Ping 192.168.1.1 - 192.168.1.255 +2025-10-31 15:57:06,885 [INFO] 停止由192.168.10.1 批量 Ping 192.168.1.1 - 192.168.1.255 diff --git a/core/Function/__pycache__/ping_fun.cpython-313.pyc b/core/Function/__pycache__/ping_fun.cpython-313.pyc index cd4a021c2e4733115d578bf467e48803a3f970ed..0794e8c81f77f15b6a913845a361255f96dd73d7 100644 GIT binary patch delta 4049 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 N>zN!~Cadyq0RW1%96|s9 diff --git a/core/ui/__pycache__/tab_ping.cpython-313.pyc b/core/ui/__pycache__/tab_ping.cpython-313.pyc index 92527ef58ee8c06c046f09985c5dbce229d6a23e..7a18b90ddd83dbe3eb9bb4f480eb69034e5e9c66 100644 GIT binary patch literal 9253 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 255: + messagebox.showwarning("输入错误", "起始地址最小为1,结束地址最大为255!") + return + if start > end: + messagebox.showwarning("输入错误", "起始地址不能大于结束地址!") + return + if not net_prefix.endswith('.'): + messagebox.showwarning("输入错误", "网段必须以 '.' 结尾,例如:192.168.1.") + return + if local_ip == "": + logger.info(f"开始批量 Ping {net_prefix}{start} - {net_prefix}{end}") + else: + logger.info(f"开始由{local_ip} 批量 Ping {net_prefix}{start} - {net_prefix}{end}") + + self.ping_fun.start_batch_ping(net_prefix, start, end, local_ip=local_ip, callback=self.batchIP_ping_callback) + self.batchIP_startPing['btn'].config(state='disabled') + + def btn_batchIP_stopPing(self): + net_prefix = self.entry_batchIP_B['var'].get() + start = self.entry_batchIP_B_begin['var'].get() + end = self.entry_batchIP_B_end['var'].get() + local_ip = self.entry_batchIP_A['var'].get() + if local_ip == "": + logger.info(f"停止批量 Ping {net_prefix}{start} - {net_prefix}{end}") + else: + logger.info(f"停止由{local_ip} 批量 Ping {net_prefix}{start} - {net_prefix}{end}") + self.ping_fun.stop_batch_ping() + self.batchIP_startPing['btn'].config(state='normal') + + def batchIP_ping_callback(self): + self.batchIP_startPing['btn'].config(state='normal') +