# PortRadar **Repository Path**: idengwei/PortRadar ## Basic Information - **Project Name**: PortRadar - **Description**: PortRadar 是一款功能强大、易于使用的端口扫描工具,专为网络管理员、安全工程师和开发人员设计。它能够快速扫描目标主机的开放端口,帮助您识别潜在的安全风险、优化网络配置以及排查服务连接问题。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-20 - **Last Updated**: 2025-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PortRadar 介绍 ### **PortRadar - 高效端口扫描工具** **PortRadar** 是一款功能强大、易于使用的端口扫描工具,专为网络管理员、安全工程师和开发人员设计。它能够快速扫描目标主机的开放端口,帮助您识别潜在的安全风险、优化网络配置以及排查服务连接问题。 --- ### **主要功能** 1. **多模式扫描** - 支持 TCP 和 UDP 端口扫描,覆盖常见的网络协议。 - 提供全端口扫描(1-65535)和自定义端口范围扫描,满足不同需求。 2. **高效并发** - 采用多线程技术,显著提升扫描速度,快速获取结果。 - 支持 IPv4 和 IPv6 地址,适应现代网络环境。 3. **实时结果展示** - 实时显示扫描进度和开放端口信息。 - 提供直观的可视化界面,支持端口状态矩阵展示。 4. **灵活配置** - 可自定义扫描超时时间、线程数等参数,适应不同网络环境。 - 支持保存扫描结果到文件,方便后续分析和报告生成。 5. **安全可靠** - 提供详细的日志记录,便于追踪扫描过程。 - 支持暂停和恢复扫描,避免重复工作。 --- ### **适用场景** - **网络安全审计**:快速发现开放端口,识别潜在的安全漏洞。 - **网络故障排查**:检查目标主机的服务状态,定位连接问题。 - **开发调试**:验证端口监听状态,确保服务正常运行。 - **教学与研究**:学习网络协议和端口扫描技术,进行网络安全实验。 --- ### **技术优势** - **高性能**:基于高效的异步 I/O 和多线程技术,确保扫描速度。 - **跨平台**:支持 Windows、Linux 和 macOS 操作系统。 - **用户友好**:简洁直观的界面设计,操作简单易上手。 --- ### **使用示例** 1. **启动扫描** 输入目标 IP 地址和端口范围,点击“开始扫描”按钮,PortRadar 将立即开始工作。 2. **查看结果** 扫描完成后,开放端口将以列表形式显示,同时支持可视化矩阵展示。 3. **保存结果** 将扫描结果导出为 CSV 或 TXT 文件,便于进一步分析和存档。 --- ### **下载与支持** - **下载地址**:[PortRadar 官方网站](#) - **技术支持**:support@xxx.com - **文档与教程**:[PortRadar 用户手册](#) --- **PortRadar**,让端口扫描更简单、更高效!无论是网络安全专家还是初学者,PortRadar 都是您不可或缺的工具。立即下载,开启您的网络探索之旅! # 其他 Todo 图形显示:256*256,颜色,鼠标放置提示,提示框复用 图形显示2:连线显示 软件规范:风格、标志、链接、说明 帮助:使用说明、注意事项、端口知识 多线程加速 解决:以一种访问权限不允许的方式做了一个访问套接字的尝试问题 解决:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 表格数据导出/展示 内嵌Web:WebBrowser、WebView2、CEF3 Todo 界面大小改变后重绘 https://blog.csdn.net/zuiyuewentian/article/details/135657989 Windows系统快速解决:彻底清除Time_Wait状态,避免网络拥堵! https://www.oryoy.com/news/windows-xi-tong-kuai-su-jie-jue-che-di-qing-chu-time-wait-zhuang-tai-bi-mian-wang-luo-yong-du.html 关于Windows频繁打开关闭端口时出现的问题 http://blog.zhaojie.me/2010/08/lack-of-dynamic-ports-when-frequently-open-and-close-socket.html 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作 https://zhuanlan.zhihu.com/p/55085442 # 开发文档 ## 界面设计 ## 图形更新 Image image = new Image(); RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap((int)pixelWidth, (int)pixelHeigh, 96, 96, PixelFormats.Pbgra32); DrawingVisual drawingVisual = new DrawingVisual(); DrawingContext drawingContext = drawingVisual.RenderOpen(); drawingContext.DrawRectangle(Brushes.Blue, null, new Rect(new Size(pixelWidth, pixelHeigh))); renderTargetBitmap.Render(drawingVisual); image.Source = renderTargetBitmap; 获取图形 更新图形 ## 界面大小调整 ## 界面刷新定时器 刷新开关 工作、界面操作、空闲 开始更新:timer(0,1000) 末次更新:timer(0,Inf) Timer如果重叠是否会导致问题? # PortRadar 扫描速度优化: 多线程扫描:客户端可以使用 Parallel.For 加速扫描。 客户端可以使用多线程加速扫描(例如 ThreadPool)。 使用BackgroundWorker进行后台扫描 50ms连接超时设置 每扫描256个端口更新一次状态显示 保存日志/数据: 保存日志:将日志保存到文件中。 美化界面: 使用 MahApps.Metro 等 UI 库增强界面效果。 可视化展示: 5. 效率对比总结 技术 静态内容 动态更新 内存占用 适用场景 Border/Rectangle 高 低 高 简单 UI 元素、低频更新。 DrawingVisual 极高 极高 低 大规模图形、高频更新。 WriteableBitmap 中 高 中 图像处理、逐帧渲染。 GDI+ 中 低 高 旧代码兼容、非高性能场景。 UniformGrid来布局,因为UniformGrid可以自动均分行列,适合这种规整的布局。每个方块可以用Rectangle或者Border 需要用BackgroundWorker或ThreadPool来处理多线程,并通过Dispatcher更新UI。 - 使用UniformGrid生成所有Rectangle控件,但测试性能。 - 使用后台线程进行扫描,通过Dispatcher.BeginInvoke更新颜色。 - 维护一个端口状态的数组,后台线程修改状态,UI定时刷新。 - 如果控件太多导致性能问题,改用DrawingVisual或WriteableBitmap绘制。 鼠标悬停在方块上查看详细信息 点击"停止扫描"可随时中止过程 // 方案2: 使用 DrawingVisual var visualHost = new CustomVisualHost(); for (int i = 0; i < 10000; i++) { visualHost.AddVisual(); } IPv6支持: DNS支持: ## 开发笔记 ### 使用LabVIEW编辑图标 #### 步骤: 1. 修复LabVIEW图标编辑器字体Bug: 1. LabVIEW.ini文件添加:FontCodePageList=Small Fonts,1252 2. 使用图标编辑器: 1. 新建VI、双击前面板图标打开图标编辑器 2. Ctrl+Shift+Delete清除所有 3. 矩形:黑色线条+黄色填充 4. 符号:通讯->网络2 5. 填充白色为黄色(避开png透明色) 3、使用iconedit.exe: 1. 插入新图标:32*32,32,压缩 2. 复制粘贴 4、使用画图放大: 1. 调整大小256像素 5、使用iconedit.exe: 1. 插入新图标:256*256,32,压缩 2. 复制粘贴 3. 删除其他图标 #### 规范: 1. 黑色线条+黄色填充 2. 线条简单+颜色简单符号