这是第4周:进阶优化 + 完整作品集整理
Day22~23:加入 argparse 命令行参数(工具更专业)
## main.pyimport argparsefrom port_scan import scan_portsfrom sensitive_check import scan_api_sensitivedefmain(): parser = argparse.ArgumentParser(description="接口安全巡检工具") parser.add_argument("--host", default="127.0.0.1", help="目标IP") parser.add_argument("--port", nargs="+", type=int, default=[80,443,8080], help="端口列表") parser.add_argument("--url", default="httpshttpbin.org/get", help="检测接口") args = parser.parse_args() print("===== 端口扫描结果 =====") print(scan_ports(args.host, args.port)) print("\n===== 敏感信息检测 =====") print(scan_api_sensitive(args.url))if __name__ == "__main__": main()
运行示例:
python main.py --host 127.0.0.1 --port 80 8080 443
Day24:加入日志记录(方便排查、更像正式工具)
import logginglogging.basicConfig( level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s", handlers=[ logging.FileHandler("scan.log", encoding="utf-8"), logging.StreamHandler() ])logging.info("开始扫描")logging.warning("发现开放端口")logging.error("请求超时")
Day25:生成 HTML 报告(给领导/同事看)
defgenerate_html_report(data, out_file="report.html"): html = f""" <html> <head><title>安全巡检报告</title></head> <body> <h1>接口安全巡检结果</h1> <p>开放端口:{data['open_ports']}</p> <p>接口状态:{data['api_status']}</p> <p>敏感信息:{data['sensitive']}</p> </body> </html> """with open(out_file, "w", encoding="utf-8") as f: f.write(html)## 使用report_data = {"open_ports": [80, 8080],"api_status": 200,"sensitive": {}}generate_html_report(report_data)
Day26~28:做一个完整项目(三选一,最适合你)
推荐项目1:接口安全自动化检测工具(最贴合工作)
功能:
推荐项目2:医疗软件合规自查脚本
功能:
推荐项目3:服务器安全巡检小工具
功能:
Day29~30:整理作品集(直接可用)
项目结构(干净、专业)
security_test_tools/├── README.md ## 项目说明├── main.py ## 入口├── core/│ ├── port_scan.py│ ├── api_check.py│ ├── sensitive_check.py│ ├── file_check.py│ └── report.py├── config.py ## 配置├── requirements.txt ## 依赖└── report/ ## 报告输出
requirements.txt
requestspytestpandasopenpyxl
README.md 模板
## 接口安全与合规巡检工具基于Python开发,用于接口安全测试、服务器巡检、文件完整性校验、敏感信息检测。功能:- 端口扫描- 未授权访问检测- 越权测试- 敏感信息识别- 文件防篡改校验- 自动生成HTML报告
至此 30 天全部完成 ✅
你现在已经掌握: