面向网络安全-Python语言

目录

1、变量

2、字符串

3、列表

4、字典

5、网络

6、条件选择语句

7、异常处理


1、变量

变量是指储存在某个内存地址上的数据
主要有:整型数、实数、布尔值、字符串、列表、元组、字典

这些数据在声明后,解释器就会自动确定每个变量的类型,使用type()函数获取变量的类型

下面在交互模式下演示:

2、字符串

Python的string模块提供了很多处理字符串的方法

主要包括:

upper() 将字符串转为大写形式

lower() 将字符串转为小写形式

replace(old,new) 将old子串替换为new子串

find() 返回子串在字符串中第一次出现时的偏移量

解释一下为什么是3,这里是从0开始解索的,H是0,e是1,l是2,lo则对应3。

3、列表

使用append()方法向列表中添加元素;

使用sort()方法,默认将列表元素从小到大排序;

使用len()方法获取列表长度,即元素的个数;

使用index()方法找出指定元素的索引。

4、字典

字典由键和值的项组成,用大括号包裹。

使用keys()方法返回字典中所有键的列表;使用items()方法返回字典中所有项的完整信息。

5、网络

socket模块提供了一个用Python进行网络连接的库

这里我在本地开了一个ftp服务用于演示

测试代码:

import socket  #导入socket模块
socket.setdefaulttimeout(2) #设置超时时间
s = socket.socket()  #实例化一个socket类的新变量s
s.connect(('127.0.0.1', 21))  #使用connect方法与指定ip和端口建立连接,注意:connect中的参数是元组
ans = s.recv(1024)  #使用recv方法读取1024B的数据
print(ans)

一旦连接成功,就可以通过套接字进行读写操作,recv(1024)方法将读取套接字中接下来的1024B数据。socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式,通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。

运行结果:

超时的情况:

6、条件选择语句

对于上面得到的结果(ans),我们一般需要对它进行一个判断,是否符合一些漏洞的特征,如果是则输出目标存在相关漏洞是脆弱的,否则输出目标不存在相关漏洞,通常我们会使用if,elif,else语句的组合来实现。

7、异常处理

即使程序的语法完全正确,程序运行过程中任然可能会出错而导致程序终止,最典型的就是除零错,因为0不能作为除数,解释器会通知这个错误,并且这个错误会导致程序终止。

我们可以使用 try/except 语句进行异常处理:

正常情况

错误情况

当然,我们希望向用户提供更多与错误有关的信息,因此,我们一般会把异常储存到变量e中,再将e打印出来,同时还要显示地将e转换成字符串。

下面我们在socket的例子上演示对异常的处理:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/179408.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv在linux上调用usb摄像头进行拍照

功能 1.按照指定的文件名创建文件夹,创建之前判断该文件夹是否存在 2.调用摄像头按可调整窗口大小的方式显示 3.按esc退出摄像头画面 4.按p保存当前摄像头的画面,并按当前时间为照片的名字进行保存打开终端查看是否有摄像头 ls /dev/video*一般video1就…

MyBatis实现多表映射、分页显示、逆向工程

目录 一、MyBatis实现多表映射 1.1 实体类设计 1.2 一对一关系实现案例 1.3 对多配置实现案例 1.4 设置自动映射与n张表关联映射 二、MyBatis实现分页功能 2.1 mybatis插件工作原理 2.2 引入插件与插件的使用 三、逆向工程插件 3.1 什么是逆向工程 3.2 MyBat…

Stable Diffusion WebUI扩展sd-webui-controlnet安装教程

话不多说,上链接: https://github.com/Mikubill/sd-webui-controlnethttps://github.com/Mikubill/sd-webui-controlnet同样,直接安装到extensions文件中。 什么conda还是python安装也不多说了,前面很多讲了如何安装,这里就不当赘婿了。 安装好后,我们最好手动安装模型…

毕马威加入IBM量子网络,已搭建完成通信行业量子电路!

毕马威全球量子中心主管Bent Dalager(图片来源:网络) 随着全球企业技术的持续转型,量子计算在开发创新解决方案上越来越重要。为此,毕马威(KPMG)公司加入了IBM量子网络,旨在利用量子计算解决当今最复杂的业…

SpringBoot可以同时处理多少请求?

前言 前两天面试的时候,面试官问我:一个ip发请求过来,是一个ip对应一个线程吗?我突然愣住了,对于SpringBoot如何处理请求好像从来没仔细思考过,所以面试结束后就仔细研究了一番,现在就来探讨一…

go语言 | grpc原理介绍(一)

参考 https://www.nowcoder.com/discuss/389810396381683712?sourceSSRsearch 这里是b站对应的csdn博客,比较详细的介绍grpc相关原理说明,首先是大概的一个流程图说明。 什么是 RPC ? 远程过程调用(RPC)是计算机科…

一文全览各种 ES 查询在 Java 中的实现

2 词条查询 所谓词条查询,也就是ES不会对查询条件进行分词处理,只有当词条和查询字符串完全匹配时,才会被查询到。  2.1 等值查询-term 等值查询,即筛选出一个字段等于特定值的所有记录。  SQL&…

LLaMA-Adapter源码解析

LLaMA-Adapter源码解析 伪代码 def transformer_block_with_llama_adapter(x, gating_factor, soft_prompt):residual xy zero_init_attention(soft_prompt, x) # llama-adapter: prepend prefixx self_attention(x)x x gating_factor * y # llama-adapter: apply zero_init…

PY32F071单片机,主频最高72 M,带一路DAC,USB

PY32F071 系列微控制器采用高性能的 32 位 ARM Cortex-M0内核,宽电压工作范围的 MCU。嵌入高达128 Kbytes flash 和 16 Kbytes SRAM 存储器,最高工作频率 72 MHz。包含多种不同封装类型多款产品。芯片集成多路 I2C、SPI、USART 等通讯外设,1 …

配置git并把本地项目连接github

一.配置git 1.下载git(Git),但推荐使用国内镜像下载(CNPM Binaries Mirror) 选好64和版本号下载,全部点下一步 下载完成后打开终端,输入 git --version 出现版本号则说明安装成功 然后继续…

C# OpenCvSharp DNN 部署L2CS-Net人脸朝向估计

效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; using System.Linq; using System.Text; using System.Windows.Forms;namespace OpenCvSharp_DNN_Demo …

MySQL中表的增删改查

目录 一、CRUD 二、新增(Create) (1)语法 (2)单行数据全列插入 (3)多行数据指定列插入 三、查询(Retrieve) (1)语法 …

swift语言下SurfGen库做的爬虫是什么样的 ?

Swift语言并没有内置的爬虫库,但是你可以使用第三方库来实现爬虫功能。其中比较常用的是Alamofire和SwiftyJSON。Alamofire是一个基于Swift语言的HTTP网络库,可以用来发送HTTP请求和接收HTTP响应。而SwiftyJSON则是一个用于处理JSON数据的Swift库&#x…

vue使用JsBarcode生成条形码

在工作中&#xff0c;有一个需求是接口返回的订单号生成条形码&#xff0c;如图&#xff1a; 1.安装依赖 yarn add jsbarcode2.引入 在script标签中引入 import JsBarcode from jsbarcode 3.使用 this.$refs.a.src的值为条形码的地址。 <template><div><img…

自定义类型结构体(下)

目录 结构体传参结构体实现位段什么是位段位段的内存分配位段的跨平台问题总结&#xff1a; 位段的应用位段使用的注意事项** 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412; 个人主页 &#x1f978;&#x1f978;&a…

应聘遇到性格测试,怎么做才能通过?

本人xxx专业&#xff0c;最近找工作&#xff0c;总会做到性格测试题&#xff0c;好几次了&#xff0c;做完性格测试就没消息了&#xff0c;已经疯了&#xff0c;直接给跪了&#xff0c;完全找不到套路&#xff0c;都快怀疑人生了。所以想问一下&#xff0c;像这样公司的性格测试…

什么是TCY油封?

机械由无数组件协同工作以确保平稳运行&#xff0c;其中一种不可或缺的部件是油封&#xff0c;特别是TCY油封。本文旨在阐明TCY油封的应用、其重要性以及它们如何提高机械的整体效率。 TCY油封主要用于轴密封。轴是一种旋转机器元件&#xff0c;横截面通常为圆形&#xff0c;用…

Microsoft 365 管理自动化

Microsoft 365 服务被大多数组织广泛使用&#xff0c;每天生成的数据量巨大。解决 Microsoft 365 中的问题可能非常困难&#xff0c;并且使用多个管理中心来保护组织变得复杂。本机控制台还缺少某些批量管理任务、全面的审计报告和基于角色的精细访问控制。 Microsoft 360 管理…

c++获取和设置环境变量

这个功能非常常用&#xff0c;但是容易忘记&#xff0c;这里做个记录。 注意&#xff0c;设置的环境变量只在当前进程中生效&#xff0c;所以在电脑中的环境变量设置区域看不到。 std::string env getenv("PATH");env "X:\\envtest";std::string newEnv…

【机器学习】几种常用的机器学习调参方法

在机器学习中&#xff0c;模型的性能往往受到模型的超参数、数据的质量、特征选择等因素影响。其中&#xff0c;模型的超参数调整是模型优化中最重要的环节之一。超参数&#xff08;Hyperparameters&#xff09;在机器学习算法中需要人为设定&#xff0c;它们不能直接从训练数据…