最近在维护公司内网时经常需要手动检查几十台设备的连通性和关键服务端口状态这种重复劳动实在太耗时间了。经过一番摸索我用InsCode(快马)平台快速生成了一个自动化巡检脚本效率提升非常明显。这里把实现思路和踩坑经验分享给大家。需求分析局域网设备巡检主要需要解决几个痛点批量处理IP列表、并发执行测试、结果可视化记录。传统手动操作不仅容易遗漏还难以形成历史记录对比。理想的解决方案应该具备支持从文件读取IP列表同时检查ICMP连通性和TCP端口生成带时间戳的标准化报告允许自定义关键端口技术方案设计脚本采用Python实现主要用到这几个关键技术点使用subprocess模块调用系统ping命令通过socket建立TCP连接检测端口采用concurrent.futures实现多线程并发用argparse处理命令行参数使用csv模块生成标准报告核心功能实现脚本运行时主要经历这几个阶段解析命令行参数获取输入文件和输出路径读取IP列表文件过滤无效地址创建线程池并发执行检测任务每个检测任务包含ICMP检测超时2秒对22/3389等端口的TCP连接测试超时1秒汇总结果并写入CSV文件异常处理机制在实际测试中发现了几个需要特别注意的问题部分设备禁ping导致误判增加TCP检测作为补充验证网络延迟造成的假超时适当调整超时阈值文件读写冲突采用队列方式管理写入操作特殊字符处理对输入文件进行规范化预处理使用示例假设我们有一个ip_list.txt文件内容如下 192.168.1.1 192.168.1.100 192.168.1.150执行命令 python scanner.py -i ip_list.txt -o report.csv生成的报告会包含这些字段 检查时间,IP地址,ICMP状态,22端口,3389端口优化方向目前脚本已经能节省80%以上的巡检时间后续还可以增加邮件自动发送报告功能支持更丰富的端口检测协议如HTTP添加图形化展示界面集成到持续集成流程中整个开发过程最让我惊喜的是使用InsCode(快马)平台可以快速验证脚本效果。平台内置的Python环境直接运行省去了本地配置的麻烦调试效率提升明显。特别是需要测试不同网络环境时一键部署到临时实例的功能特别实用。对于运维和开发同学来说这类自动化脚本真的能解放双手。建议大家可以基于这个框架继续扩展适合自己业务场景的检测逻辑。平台提供的实时预览和快速迭代能力让这种工具类脚本的开发变得异常轻松。