吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8729|回复: 37
上一主题 下一主题
收起左侧

[原创工具] 网络端口连通性测试工具(20241026更新)

  [复制链接]
跳转到指定楼层
楼主
xiaolinge566 发表于 2024-10-2 14:19 回帖奖励
本帖最后由 xiaolinge566 于 2024-10-26 09:43 编辑

一、工具介绍
1.主要功能
用于网络端口的批量连通性测试,之前在论坛里面也搜索过类似的工具,但暂时没有找到可以提前进行配置的。由于工作中需要对多个系统进行互联网端口连通性检测,所以用python开发了一个小工具来进行检测,此为界面版本,方便直观查看。
2.开发语言
脚本语言python,UI界面使用tinker设计。
二、工具使用
1.配置文件
在config目录中增加xxx.ini的配置文件,配置文件中需要维护ip、端口等信息,可维护多个配置文件代表不通的系统分类。
示例如下:
[section1]
ip = 127.0.0.1
port = 25

[section2]
ip = 192.168.1.101
port = 8899
2.工具运行
(1)方式1:读取配置文件ip、port信息,勾选左边导航栏,选择系统分类,点击开始测试进行批量检测。


(2)方式2:勾选手动输入,对单个ip、port输入后,点击开始测试进行检测。

(3)运行结果示例



百度网盘永久下载地址如下:
链接: https://pan.baidu.com/s/1MEmlNY9PZTPJuiZ0Zy3wHA 提取码: rpxf

20241026更新如下:
1,新增section列,可定义系统下得子模块分类;
2,修改为多线程批量并行测试得方式。
新版本蓝奏下载地址:https://wwul.lanzouw.com/itQ8I2ddf2bc 密码52pj



分享给需要的小伙伴,如果觉得有帮助到你,还请不要吝啬你的小支持哟,感激不尽。

免费评分

参与人数 12吾爱币 +17 热心值 +10 收起 理由
tanhaibigg + 1 + 1 谢谢@Thanks!
OA01 + 1 + 1 谢谢@Thanks!
星轨零光 + 1 + 1 谢谢@Thanks!
cocolingling123 + 1 + 1 谢谢@Thanks!
yanglinman + 1 谢谢@Thanks!
1783780690 + 1 + 1 我很赞同!
bqi153 + 1 + 1 谢谢@Thanks!
melooon + 1 + 1 我很赞同!
liyuhuimuzi + 1 我很赞同!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
夫子点灯 + 1 我很赞同!
windowxp03 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
lty9009 发表于 2024-10-4 20:25
现在不喜欢度盘  整个 蓝奏

https://wwsj.lanzout.com/ijBVu2bmbc7g
密码:52pj
推荐
Ranobunsin 发表于 2024-10-4 13:21
不知道有没有那种适合小白的网络测试工具,比如有时某个/某些网站上不去或者不稳定,但是网络小白不知道到底是什么原因,要是有这种网络工具,检测一下,然后显示可能的原因 就好了 (纯口胡)~
沙发
wzyzhuce 发表于 2024-10-2 15:12
3#
nxyuym 发表于 2024-10-2 15:23
怎么体现性能值?
4#
YKDQ 发表于 2024-10-2 16:12
非常实用, 值得推荐。谢谢
5#
WK8888 发表于 2024-10-2 16:38
        感谢发布原创作品,吾爱破解论坛因你更精彩!
6#
WvRt 发表于 2024-10-2 16:52
功能够用,界面简介,感谢分享
7#
命比天高 发表于 2024-10-2 16:56
有机会试哈
8#
darkf 发表于 2024-10-2 17:03
感谢分享
9#
llss123 发表于 2024-10-2 17:09
如何设置XXX-XXXX端口段的测试呢??
10#
48325619 发表于 2024-10-2 17:27
反编译出来了的代码,不完整可以学习一下,另外反编译的字节码是完整的:
[Python] 纯文本查看 复制代码
import tkinter as tk
from tkinter.ttk import ttk
import configparser
import socket
from tkinter import messagebox
import os

class PortTester:
    
    def __init__(self):
        self.root = tk.Tk()
        self.root.title('网络端口测试工具')
        self.root.geometry('800x600')
        main_frame = tk.Frame(self.root)
        main_frame.pack(fill = tk.BOTH, expand = True)
        execute_frame = tk.Frame(main_frame)
        execute_frame.pack(side = tk.TOP, fill = tk.X)
        tk.Label(execute_frame, text = 'IP:').pack(side = tk.LEFT)
        self.ip_entry = tk.Entry(execute_frame)
        self.ip_entry.pack(side = tk.LEFT)
        tk.Label(execute_frame, text = 'Port:').pack(side = tk.LEFT)
        self.port_entry = tk.Entry(execute_frame)
        self.port_entry.pack(side = tk.LEFT)
        self.manual_input_var = tk.BooleanVar()
        self.manual_checkbutton = tk.Checkbutton(execute_frame, text = '手动输入', variable = self.manual_input_var)
        self.manual_checkbutton.pack(side = tk.LEFT)
        self.test_button = tk.Button(execute_frame, text = '开始测试', command = self.start_test)
        self.test_button.pack(side = tk.LEFT)
        self.clear_button = tk.Button(execute_frame, text = '清空结果', command = self.clear_results)
        self.clear_button.pack(side = tk.LEFT)
        nav_frame = tk.Frame(main_frame)
        nav_frame.pack(side = tk.LEFT, fill = tk.Y)
        config_dir = 'config'

    
    def show_selected_configs(self):
        pass

    
    def update_display(self, category, ip, port, result, color = ('black',)):
        item_id = None

    
    def start_test(self):
        selected_configs = self.checkboxes.items()()
        if not selected_configs and self.manual_input_var.get():
            messagebox.showwarning('警告', '请选择至少一个配置文件或切换到手动输入模式。')
            return None
        ip = (lambda .0: pass
).ip_entry.get()
        port = self.port_entry.get()
        if self.manual_input_var.get():
            category = '手动'
            if ip and port:
                result = self.test_port(ip, int(port))
                self.update_display(category, ip, port, result, 'red' if result == 'fail' else 'black')
            else:
                messagebox.showwarning('警告', '手动输入模式下,IP 和 Port 不能为空。')

    
    def test_port(self, ip, port):
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(2)
        result = sock.connect_ex((ip, port))
        if result == 0:
            sock.close()
            return 'ok'
        sock.close()
        return 'fail'

    
    def clear_results(self):
        pass


if __name__ == '__main__':
    app = PortTester()
    app.root.mainloop()
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-9-29 10:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表