当前位置: 首页 > news >正文

python安全脚本开发简单思路

文章目录

  • 为什么选择python作为安全脚本开发语言
  • 如何编写人生第一个安全脚本开发
  • 后续学习

为什么选择python作为安全脚本开发语言

  1. 易读性和易维护性:Python以其简洁的语法和清晰的代码结构著称,这使得它非常易于阅读和维护。在安全领域,代码的可读性和可维护性至关重要,因为它们有助于团队成员快速理解代码逻辑,减少错误,并快速响应安全事件。
  2. 丰富的库和框架:Python拥有一个庞大的生态系统和丰富的库,涵盖了网络编程、数据处理、加密解密、Web开发等多个领域。在安全领域,有许多专为安全测试、漏洞扫描、渗透测试等设计的库和框架,如Scapy(网络包处理)、Nmap的Python接口、OWASPZAP的API绑定等,极大地提高了开发效率和安全性。
  3. 跨平台支持:Python是一种跨平台的编程语言,可以在Windows、Linux、macOS等多种操作系统上运行,无需修改代码即可在不同平台上执行相同的任务。这对于需要处理多平台安全问题的场景特别有用。
  4. 动态性和灵活性:Python是一种动态类型语言,支持在运行时修改对象类型和结构,这使得它非常灵活,可以轻松地处理各种复杂的安全场景和异常情况。此外,Python的反射机制也允许程序在运行时检查或修改其自身结构,这在某些高级安全应用中非常有用。
  5. 社区支持:Python拥有庞大的开发者社区和丰富的在线资源,包括官方文档、教程、论坛、博客等。这意味着在开发过程中遇到的问题通常可以很快找到解决方案,而且有许多现成的工具和库可以直接使用。
  6. 学习曲线平缓:相对于其他编程语言,Python的学习曲线较为平缓,使得新手可以更快地入门并开始编写代码。这对于需要快速部署安全脚本或工具的场景特别有利。
  7. 强大的网络支持:Python提供了强大的网络编程支持,包括socket编程、HTTP请求处理等。这使得Python非常适合用于开发网络安全相关的脚本和工具,如网络扫描器、漏洞利用工具等。

如何编写人生第一个安全脚本开发

python的用武之地:
1.利用python完成安全脚本开发,提高工作效率。
2.利用-python进行自动化运维,日志分析等。
3.针对特定的服务器环境,用于开发安全测试工具。
4.使用python进行安全基线检查。
5.使用python进行资产收集、资产管理、信息收集。

举例子:写一个脚本来进行端口扫描(单线程,多线程,以及常见端口扫描)

import threading
import socket
import time#单线程
def socket_port(ip):for port in range(1,65535):try:s=socket.socket()s.settimeout(0.5)s.connect((ip,port))print(f"端口:{port}可用.")s.close()except ConnectionRefusedError:print(f"端口:{port}不可用.")#passexcept socket.timeout:pass#多线程
def socket_port_thread(ip,start):for port in range(start,start+50):try:s=socket.socket()s.settimeout(0.01)s.connect((ip,port))print(f"端口:{port}可用.")s.close()except:pass#扫描常用端口,使得每次扫描完后停止三秒钟(防止ips/ids进行阈值监测)
def socket_port_normal(ip):list=[1, 7, 9, 11, 13, 17, 18, 19, 20, 21, 22, 23, 25, 33,42, 43, 53, 67, 68, 69, 80, 81, 82, 88, 110, 111, 113,119, 123, 135, 138,137,139, 143, 1433, 1521, 161,2049, 2181, 2222, 2601, 2604, 3306, 3389, 443, 4440,445, 5000, 50000, 5432, 5900, 5984, 6082, 6379, 7001,7002, 8000-9090, 8069, 8080, 8083, 8089, 8649, 873, 8888,9090, 9200, 9300, 10000, 11211, 27017, 27018, 3128, 3312, 3311
]for port in list:try:s=socket.socket()s.settimeout(0.01)s.connect((ip,port))print(f"端口:{port}可用.")s.close()except ConnectionRefusedError:print(f"端口:{port}不可用.")#passexcept socket.timeout:passtime.sleep(3)if __name__ == '__main__':#socket_port('127.0.0.1')# for i in range(1,1024,50):#     threading.Thread(target=socket_port_thread,args=('192.168.1.2',i)).start()socket_port_normal('192.168.1.2')

后续学习

当你进入内网后,有些情况可能不允许你上传一些工具,单数大多数服务器都支持python环境,这样你可以手搓一个tcp连接,或者手搓一个简易版的nmap进行内网扫描。事实上一些监测脚本的编写离不开一些网络底层的知识和python各种好用库的学习,所以该怎么学我想大家应该心里很清楚了吧。

相关文章:

python安全脚本开发简单思路

文章目录 为什么选择python作为安全脚本开发语言如何编写人生第一个安全脚本开发后续学习 为什么选择python作为安全脚本开发语言 易读性和易维护性:Python以其简洁的语法和清晰的代码结构著称,这使得它非常易于阅读和维护。在安全领域,代码…...

WPF学习(4) -- 数据模板

一、DataTemplate 在WPF(Windows Presentation Foundation)中,DataTemplate 用于定义数据的可视化呈现方式。它允许你自定义如何展示数据对象,从而实现更灵活和丰富的用户界面。DataTemplate 通常用于控件(如ListBox、…...

GuLi商城-商品服务-API-品牌管理-JSR303分组校验

注解:@Validated 实体类: package com.nanjing.gulimall.product.entity;import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.nanjing.common.valid.ListValue; import com.nanjing.common.valid.Updat…...

PyTorch DataLoader 学习

1. DataLoader的核心概念 DataLoader是PyTorch中一个重要的类,用于将数据集(dataset)和数据加载器(sampler)结合起来,以实现批量数据加载和处理。它可以高效地处理数据加载、多线程加载、批处理和数据增强…...

TCP传输控制协议二

TCP 是 TCP/IP 模型中的传输层一个最核心的协议,不仅如此,在整个 4 层模型中,它都是核心的协议,要不然模型怎么会叫做 TCP/IP 模型呢。 它向下使用网络层的 IP 协议,向上为 FTP、SMTP、POP3、SSH、Telnet、HTTP 等应用…...

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(五)-同时支持无人机和eMBB用户数据传输的用例

引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…...

使用F1C200S从零制作掌机之debian文件系统完善NES

一、模拟器源码 源码:https://files.cnblogs.com/files/twzy/arm-NES-linux-master.zip 二、文件系统 文件系统:debian bullseye 使用builtroot2018构建的文件系统,使用InfoNES模拟器存在bug,搞不定,所以放弃&…...

Vue 3 与 TypeScript:最佳实践详解

大家好,我是CodeQi! 很多人问我为什么要用TypeScript? 因为 Vue3 喜欢它! 开个玩笑... 在我们开始探索 Vue 3 和 TypeScript 最佳实践之前,让我们先打个比方。 如果你曾经尝试过在没有 GPS 的情况下开车到一个陌生的地方,你可能会知道那种迷失方向的感觉。 而 Typ…...

PyMysql error : Packet Sequence Number Wrong - got 1 expected 0

文章目录 错误一错误原因解决方案 错误二原因解决方案 我自己知道的,这类问题有两类原因,两种解决方案。 错误一 错误原因 pymysql的主进程启动的connect无法给子进程中使用,所以读取大批量数据时最后容易出现了此类问题。 解决方案 换成…...

MVC 生成验证码

在mvc 出现之前 生成验证码思路 在一个html页面上&#xff0c;生成一个验证码&#xff0c;在把这个页面嵌入到需要验证码的页面中。 JS生成验证码 <script type"text/javascript">jQuery(function ($) {/**生成一个随机数**/function randomNum(min, max) {…...

OSPF.综合实验

1、首先将各个网段基于172.16.0.0 16 进行划分 1.1、划分为4个大区域 172.16.0.0 18 172.16.64.0 18 172.16.128.0 18 172.16.192.0 18 四个网段 划分R4 划分area2 划分area3 划分area1 2、进行IP配置 如图使用配置指令进行配置 ip address x.x.x.x /x 并且将缺省路由…...

云计算【第一阶段(29)】远程访问及控制

一、ssh远程管理 1.1、ssh (secureshell)协议 是一种安全通道协议对通信数据进行了加密处理&#xff0c;用于远程管理功能SSH 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令&#xff0c;建立在应用层和传输层基础上的安全协议。SSH客…...

2024前端面试真题【CSS篇】

盒子模型 盒子模型&#xff1a;box-sizing&#xff0c;描述了文档中的元素如何生成矩形盒子&#xff0c;并通过这些盒子的布局来组织和设计网页。包含content、padding、margin、border四个部分。 分类 W3C盒子模型&#xff08;content-box&#xff09;&#xff1a;标准盒子模…...

python中设置代码格式,函数编写指南,类的编程风格

4.6 设置代码格式 随着你编写的程序越来越长&#xff0c;确保代码格式一致变得尤为重要。花时间让代码尽可能易于阅读&#xff0c;这不仅有助于你理解程序的功能&#xff0c;也能帮助他人理解你的代码。 为了保证所有人的代码结构大致一致&#xff0c;Python程序员遵循一系列…...

CentOS 8升级gcc版本

1、查看gcc版本 gcc -v发现gcc版本为8.x.x&#xff0c;而跑某个项目的finetune需要gcc-9&#xff0c;之前搜索过很多更新gcc版本的方式&#xff0c;例如https://blog.csdn.net/xunye_dream/article/details/108918316?spm1001.2014.3001.5506&#xff0c;但执行指令 sudo yu…...

Kafka基础入门篇(深度好文)

Kafka简介 Kafka 是一个高吞吐量的分布式的基于发布/订阅模式的消息队列&#xff08;Message Queue&#xff09;&#xff0c;主要应用与大数据实时处理领域。 1. 以时间复杂度为O(1)的方式提供消息持久化能力。 2. 高吞吐率。&#xff08;Kafka 的吞吐量是MySQL 吞吐量的30…...

C++之复合资料型态KU网址第二部V蒐NAY3989

结构 结构可存放不同资料型态的数值&#xff0c;例如 #include <iostream>struct Demo {int member1;char *member2;float member3; };int main() {Demo d;d.member1 19823;d.member2 "203";d.member3 3.011;std::cout << "member1: " &l…...

乡镇集装箱生活污水处理设备处理效率高

乡镇集装箱生活污水处理设备处理效率高 乡镇集装箱生活污水处理设备优势 结构紧凑&#xff1a;集装箱式设计减少了占地面积&#xff0c;便于在土地资源紧张的乡镇地区部署。 安装方便&#xff1a;设备出厂前已完成组装和调试&#xff0c;现场只需进行简单的连接和调试即可投入使…...

计算机网络高频面试题

从输入URL到展现页面的全过程&#xff1a; 用户在浏览器中输入URL。浏览器解析URL&#xff0c;确定协议、主机名和路径。浏览器查找本地DNS缓存&#xff0c;如果没有找到&#xff0c;向DNS服务器发起查询请求。DNS服务器解析主机名&#xff0c;返回IP地址。浏览器使用IP地址建立…...

进程通信(1):无名管道(pipe)

无名管道(pipe)用来具有亲缘关系的进程之间进行单向通信。半双工的通信方式&#xff0c;数据只能单向流动。 管道以字节流的方式通信&#xff0c;数据格式由用户自行定义。 无名管道多用于父子进程间通信&#xff0c;也可用于其他亲缘关系进程间通信。 因为父进程调用fork函…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...