跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

Python 基础入门与网络安全资产收集实战

介绍 Python 在网络安全中的应用。首先讲解 Python 基础语法,包括变量、数据结构、流程控制及函数。接着介绍模块系统,涵盖内置、自定义及第三方模块管理。最后通过 requests 库模拟网络请求,并使用 OneForAll 工具进行子域名收集实战。适合零基础学习者快速掌握 Python 安全开发技能。

leon发布于 2026/3/26更新于 2026/5/2324 浏览

在网络安全领域,Python 几乎是从业者的必备武器——它简洁易上手、生态丰富,能快速实现各类工具脚本的开发与落地。对于零基础学习者来说,从 Python 基础语法入门,再到上手实用的安全工具,是一条高效的进阶路径。本文将从 Python 基础讲起,一步步带你落地两款经典的网络安全工具,轻松完成从入门到实战的跨越。

一、认识 Python:为什么它是网络安全的首选语言?

Python 是一种解释型、面向对象、动态数据类型的高级编程语言,它的核心优势在于「可读性强、简洁易学习、生态完善」。

  • 无需复杂的语法配置,零基础也能快速写出可运行的代码;
  • 拥有高效的高级数据结构,支持简单有效的面向对象编程;
  • 丰富的第三方库覆盖网络请求、数据解析、漏洞检测等各类安全场景,无需重复造轮子。

Python 的官方网站是 https://www.python.org,目前主要分为 Python2 和 Python3 两个版本,其中 Python2 已于 2020 年 1 月 1 日停止官方支持,建议大家直接选择 Python3.8 及以上的稳定版本(兼容性更好,支持更多新特性)。

二、Python 核心基础语法:打好入门第一关

Python 的简洁性在语法中体现得淋漓尽致,掌握以下核心内容,就能应对大部分基础开发场景。

1.变量与数据类型:存储数据的基本容器

Python 最大的特点是无需声明变量类型,直接赋值即可,常用的数据类型包括整数(Int)、浮点数(Float)、字符串(String)、布尔值(Boolean)。

字符串格式化与类型转换

在实际开发中,经常需要拼接字符串或转换数据类型,推荐使用 f-string(简洁高效),也可以使用 + 号拼接(注意数字需用 str() 转换为字符串)。

# 定义基础变量
age = 30 # 整数 (Int)
pi = 3.14159 # 浮点数 (Float)
name = 'niko' # 字符串 (String)
is_student = True # 布尔值 (Boolean)

# 1. f-string 格式化输出(推荐)
print(f"姓名:{name}, 年龄:{age}")

# 2. 类型转换示例
str_num = "123"
int_num = int(str_num) # 字符串转换为整数
print(f"字符串 '{str_num}' 转换为整数:{int_num}")

# 3. + 号拼接(数字必须转字符串)
new_message = "我的分数是:" + str(int_num)
print(new_message)
三大常用数据结构

Python 提供了三种实用的数据结构,分别适用于不同的场景,掌握它们就能高效处理各类数据集合。

数据结构定义格式核心特性适用场景
列表(List)方括号 []可变、有序存储需要增删改的动态数据(如待办事项)
元组(Tuple)圆括号 ()不可变、有序存储无需修改的核心数据(如身份证信息)
字典(Dict)花括号 {}可变、键值对、Python3.7+ 有序存储需要通过关键字查询的数据(如通讯录)
# 1. 列表:增删改查
todo_list = ["买牛奶", "取快递", "写代码"]
todo_list.append("运动 30 分钟") # 新增元素
todo_list[1] = "取快递(顺丰)" # 修改元素
del todo_list[2] # 删除元素
print("列表结果:", todo_list)

# 2. 元组:不可修改,仅查询
person_info = ("zs", "110101199001011234", "1990-01-01")
print("元组查询姓名:", person_info[0])

# 3. 字典:键值对操作
contact = {"zs": "13800138000"}
contact["lisi"] = "13700137000" # 新增键值对
print("字典查询 zs 手机号:", contact["zs"])
2.流程控制:掌控代码的执行逻辑

Python 不使用大括号 {} 划分代码块,而是依靠缩进(通常 4 个空格),这是 Python 的核心规则,缩进错误会直接导致程序运行失败。

条件判断:if-elif-else

用于根据不同条件执行不同的代码逻辑,适用于成绩评级、权限判断等场景。

user_score = 85
if user_score >= 90:
    print("成绩优秀")
elif user_score >= 80:
    print("成绩良好")
else:
    print("需要努力")
循环:while 与 for

用于重复执行某段代码,while 适用于未知循环次数的场景,for 适用于已知循环次数或遍历数据集合的场景。

# 1. while 循环:倒计时(未知循环次数,依赖条件判断)
count = 3
while count > 0:
    print(f"While 倒计时:{count}")
    count -= 1

# 2. for 循环:遍历范围与列表(已知循环次数)
# 遍历 1-5(range 左闭右开)
for i in range(1, 6):
    print(f"For 循环数字:{i}")

# 遍历列表
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
    print("水果名称:", fruit)
3.函数与面向对象:代码复用与封装
函数:def 关键字定义

函数是组织好的、可重复使用的代码段,用于实现单一或相关联的功能,能大幅提升代码的复用性和可维护性。

# 定义求和函数
def sum_num(arg1, arg2):
    total = arg1 + arg2
    print("函数内计算结果:", total)
    return total

# 调用函数
result = sum_num(10, 20)
print("函数返回结果:", result)
面向对象:类与对象

类是一个模板或蓝图,包含属性(存储数据)和方法(执行操作),对象是类的实例化结果。在网络安全工具开发中,面向对象能更好地封装工具的核心逻辑。

class Dog:
    species = "犬科" # 类属性(所有实例共享)
    
    def __init__(self, name, age): # 构造函数:初始化实例属性
        self.name = name # 实例属性
        self.age = age
    
    def bark(self): # 实例方法:定义对象行为
        print(f"{self.name}在汪汪叫")
    
    def __str__(self): # 魔术方法:自定义对象打印格式
        return f"{self.name}今年{self.age}岁了"

# 实例化对象并调用方法
dog1 = Dog("小黑", 3)
dog1.bark()
print(dog1)

三、Python 模块系统:代码复用的核心支撑

模块是包含 Python 代码的 .py 文件,里面可以存放函数、类和变量,是 Python 代码组织和复用的核心。Python 的模块主要分为三类:内置模块、自定义模块、第三方模块。

1.内置模块:Python 自带的工具箱

内置模块是 Python 安装后自带的标准库,无需额外安装,直接导入即可使用,常见的有 math、os、random、time 等。

# 方式 1:导入整个模块
import math
print("4 的平方根:", math.sqrt(4))

# 方式 2:导入模块中的指定函数
from math import sqrt
print("9 的平方根:", sqrt(9))
2.自定义模块:封装自己的功能

自定义模块是开发者自己编写的 .py 文件,用于封装特定的功能逻辑,命名时注意不要与内置模块重名。

步骤 1:创建自定义模块文件(my_sum.py)
# my_sum.py
def add(num1, num2):
    """求两个数的和"""
    return num1 + num2
步骤 2:导入并使用自定义模块
import my_sum
result = my_sum.add(1, 2)
print("自定义模块求和结果:", result)
3.第三方模块:丰富的生态扩展

第三方模块是由其他开发者或组织发布的模块,需要通过 pip 命令安装,这也是 Python 生态强大的核心原因。

常用 pip 命令
# 1. 列出已安装的模块
pip list

# 2. 安装指定模块
pip install 模块名

# 3. 国内镜像源安装(解决网络卡顿,推荐清华源)
pip install 模块名 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 4. 卸载模块
pip uninstall 模块名
国内优质镜像源
  • 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云:http://mirrors.aliyun.com/pypi/simple/
  • 豆瓣:http://pypi.douban.com/simple/

四、网络安全实战:Python 工具落地

掌握了 Python 基础和模块系统后,我们就可以上手网络安全领域的实用工具,完成从理论到实战的跨越。

1.模拟浏览器:requests 库(网络请求必备)

requests 是 Python 最常用的网络请求库,核心功能是模拟浏览器向网站发送请求、获取数据,是后续爬虫、资产探测、漏洞扫描的基础。

步骤 1:安装 requests 库
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
步骤 2:发送 GET 请求并获取响应
import requests

# 目标域名
domain = "https://example.com/"

# 发送 GET 请求
r = requests.get(domain)

# 获取响应状态码(200 表示请求成功)
print("响应状态码:", r.status_code)

# 获取响应文本内容(网站源码)
print("网站源码:", r.text[:500]) # 只打印前 500 个字符,避免输出过长
2.子域名收集:OneForAll 工具

OneForAll 是一款基于 Python 开发的功能全面的域名信息收集与爆破工具,能高效枚举目标域名的子域名、获取解析记录与资产信息,是网络安全渗透测试中的必备工具。

步骤 1:下载 OneForAll

下载地址:https://github.com/shmilylty/OneForAll,下载后解压到本地(如 D:\Oneforall\OneForAll-master)。

步骤 2:安装依赖

打开终端,进入解压后的目录,批量安装项目所需依赖:

# 进入目录
cd D:\Oneforall\OneForAll-master

# 安装依赖(使用阿里云镜像源)
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
步骤 3:使用 OneForAll 收集子域名
# 方式 1:使用默认字典扫描目标域名
python oneforall.py --target https://example.com run

# 方式 2:使用自定义字典扫描
python oneforall.py --target https://example.com --wordlist=自定义字典路径\字典.txt run

运行完成后,工具会自动生成详细的子域名报告,包含子域名、解析记录、状态码等信息,方便后续资产梳理和漏洞探测。

五、总结与展望

  1. Python 以其简洁易上手、生态丰富的特点,成为网络安全领域的首选语言,零基础小白可优先从 Python3.8+ 入门。
  2. 掌握变量、数据结构、流程控制、函数与面向对象等基础语法,是后续工具开发和使用的核心前提。
  3. Python 模块系统(内置、自定义、第三方)是代码复用的关键,pip 命令和国内镜像源能高效解决第三方模块的安装问题。
  4. 从 requests 模拟网络请求,到 OneForAll 子域名收集,是 Python 网络安全实战的入门路径,后续可深入学习 scapy(网络数据包处理)、BeautifulSoup(数据解析)等工具,提升实战能力。

Python 的学习之路没有捷径,多敲代码、多做实战,才能快速将知识转化为能力,在网络安全领域站稳脚跟。

目录

  1. 一、认识 Python:为什么它是网络安全的首选语言?
  2. 二、Python 核心基础语法:打好入门第一关
  3. 1.变量与数据类型:存储数据的基本容器
  4. 字符串格式化与类型转换
  5. 定义基础变量
  6. 1. f-string 格式化输出(推荐)
  7. 2. 类型转换示例
  8. 3. + 号拼接(数字必须转字符串)
  9. 三大常用数据结构
  10. 1. 列表:增删改查
  11. 2. 元组:不可修改,仅查询
  12. 3. 字典:键值对操作
  13. 2.流程控制:掌控代码的执行逻辑
  14. 条件判断:if-elif-else
  15. 循环:while 与 for
  16. 1. while 循环:倒计时(未知循环次数,依赖条件判断)
  17. 2. for 循环:遍历范围与列表(已知循环次数)
  18. 遍历 1-5(range 左闭右开)
  19. 遍历列表
  20. 3.函数与面向对象:代码复用与封装
  21. 函数:def 关键字定义
  22. 定义求和函数
  23. 调用函数
  24. 面向对象:类与对象
  25. 实例化对象并调用方法
  26. 三、Python 模块系统:代码复用的核心支撑
  27. 1.内置模块:Python 自带的工具箱
  28. 方式 1:导入整个模块
  29. 方式 2:导入模块中的指定函数
  30. 2.自定义模块:封装自己的功能
  31. 步骤 1:创建自定义模块文件(my_sum.py)
  32. my_sum.py
  33. 步骤 2:导入并使用自定义模块
  34. 3.第三方模块:丰富的生态扩展
  35. 常用 pip 命令
  36. 1. 列出已安装的模块
  37. 2. 安装指定模块
  38. 3. 国内镜像源安装(解决网络卡顿,推荐清华源)
  39. 4. 卸载模块
  40. 国内优质镜像源
  41. 四、网络安全实战:Python 工具落地
  42. 1.模拟浏览器:requests 库(网络请求必备)
  43. 步骤 1:安装 requests 库
  44. 步骤 2:发送 GET 请求并获取响应
  45. 目标域名
  46. 发送 GET 请求
  47. 获取响应状态码(200 表示请求成功)
  48. 获取响应文本内容(网站源码)
  49. 2.子域名收集:OneForAll 工具
  50. 步骤 1:下载 OneForAll
  51. 步骤 2:安装依赖
  52. 进入目录
  53. 安装依赖(使用阿里云镜像源)
  54. 步骤 3:使用 OneForAll 收集子域名
  55. 方式 1:使用默认字典扫描目标域名
  56. 方式 2:使用自定义字典扫描
  57. 五、总结与展望
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 Cogito-V1-Preview-Llama-3B 的微信小程序 AI 对话集成指南
  • 2025 年五种智能算法优化无人机三维路径规划研究综述与 Matlab 实现
  • 从人类视频到机器人跳舞:BeyondMimic 全流程解析与 rl_sar 部署实践
  • MacOS 安装 OpenClaw 并接入飞书机器人
  • 递归算法实战:汉诺塔与合并有序链表
  • VLM经典论文阅读:【综述】An Introduction to Vision-Language Modeling
  • Copilot 人工智能助手及编程功能介绍
  • ICEEMDAN 算法详解:信号处理中的经验模态分解改进
  • Linux TCP 协议详解与 Socket 编程实战
  • 波士顿动力机器人技术解析:从 Spot 到 Atlas
  • SCADA Engine:基于 Vue3 的开源工业级组态引擎
  • Python 爬虫从零入门实战指南
  • 大模型量化详解:基于 llama.cpp
  • PDF Arranger 使用指南:PDF 页面管理与编辑工具
  • 通义万相 2.1 模型特性与高性能部署实践
  • Linux 进程池原理与实现:从 fork 到任务复用
  • 学术论文降重与去除 AIGC 痕迹的技术方案分析
  • 部署Qwen3-VL-32b的踩坑实录:多卡跑大模型为何vLLM卡死而llama.cpp却能“大力出奇迹”?
  • 人工智能应用工程师(高级)课程体系与核心能力解读
  • 通义千问 Qwen 2.5 闭源性能赶超 GPT-4 Turbo,开源模型超越 Llama-3-70B

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online