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

python捕获异常和scapy模块的利用

Python捕获异常

​ 当程序运行时,因为遇到未知的错误而导致中止运行,便会出现Traceback 消息,打印异常。异常即是一个事件,该事件会在程序执行过程中发生,影响程序的正常执行。一般情况下,在Python 无法正常处理程序时就会发生一个异常。异常是Python 对象,表示一个错误。当Python 脚本发生异常时我们需要响应处理它,否则程序会终止执行。

捕获异常

​ 如果一个语句发生了错误或异常,跳过该语句的执行,执行另外的语句

捕获异常使用关键字try except语句

try关键字使用来监控代码的

如果是try里面的代码出现异常就会被except关键字捕捉到并执行except里的语句

try:num=int(input())
except:print("请输入一个整数")num=int(input())

如果是用户输入的是字符串或者特殊字符那么就会报错异常被except捕捉到后就会打印让用户输入整数并且再次输入

异常的类型

except关键字是可以捕捉所有异常的

当然我们也可以控制捕捉的异常

下面是常见的异常

异常描述
SyntaxError语法错误
NameError未声明/初始化对象
IndexError序列中没有此索引
KeyboardInterrupt用户中断执行(Ctrl+C)
EOFError没有内建输入,到达EOF 标记(Ctrl+D) 不适用windows 系统
IOError输入/输出操作失败
ValueError当操作或函数接收到具有正确类型但值不适合的参数, 并且情况不能用更精确的异常,例如 IndexError来描述时将被引发。
TypeError字符串与整数相加时触发。

如果说我只想要捕获语法错误

try:num=int(input())
except SyntaxError:print("请输入一个整数")num=int(input())

想要捕获什么异常就可以在except后面加入就可以了

scapy模块

scapy 模块能够发送、捕获、分析和铸造网络数据包

Windows 下安装scapy
python -m pip install scapy

在这里插入图片描述

在Linux下安装
sudo apt install scapy

启动之后可能会需要安装pyX模块

pip install pyX  

可能会出现python虚拟环境报错

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

在这里插入图片描述
解决方法:
下载虚拟环境

apt install python3.11-venv

在这里插入图片描述

python3 -m venv tutorial-env

.创建一个虚拟环境中,决定在目录里你想要的 把它和运行的 venv 模块作为一个脚本用的目录路径
最后在执行

source tutorial-env/bin/activate

就可以成功安装了

方法简绍
发送数据包的函数说明
sr(pkt)发送数据包,接收所有返回包
sr1(pkt)发送数据包,接收一个返回包
send(pkt)发送数据包,不等待返回包
srp(pkt)发送2 层数据包,等待回应
pkt)发送数据包,不等待返回包
srp(pkt)发送2 层数据包,等待回应
sendp(pkt)发送2 层数据包,不等待返回包

案例探测网段内ip存活脚本

from scapy.all import *
from scapy.layers.inet import IP, TCP,ICMP
import logging
logging.getLogger("scapy.runtime") .setLevel(logging.ERROR)
attack_net = input("请输入目标网段或IP: ")
self_ip = input("请输入本机IP: ")
list_net=attack_net.split(".")
if  list_net[3]=='0/24' or list_net[3]=="*": #如果是0/24或*探测该网段下全部ipfor num in  range(1,255):i=str(num)attack_net=attack_net[0:attack_net.rfind(".")+1:1]attack_net=f"{attack_net}{num}"pkt = IP(dst=attack_net,src=self_ip)/ICMP()res=sr1(pkt,verbose=False, timeout=1)  #每个ip探测延迟1秒if res:print(f"[+]主机存活{attack_net}")print("[+]主机存活扫描完成")
elif list_net[3]!='':                 #如果不为空就只探测该主机pkt = IP(dst=attack_net, src=self_ip) / ICMP()res = sr1(pkt,verbose=False)if res and res.type==0:print(f"[+]主机存活{attack_net}")else:print("请输入正确的网段或IP")

成果如下
在这里插入图片描述

相关文章:

python捕获异常和scapy模块的利用

Python捕获异常 ​ 当程序运行时,因为遇到未知的错误而导致中止运行,便会出现Traceback 消息,打印异常。异常即是一个事件,该事件会在程序执行过程中发生,影响程序的正常执行。一般情况下,在Python 无法正…...

CSS+Javascript+Html日历控件

最近&#xff0c;因需要用HTMLJAVASCRIPTCSS实现了一个日历控件&#xff0c;效果如下&#xff1a; 单击上月、下月进行日历切换。当前日期在日历中变颜色标注显示。还是老老套路、老方法&#xff0c;分HMLCSSJAVASCRIPT三部分代码。 一、html代码 <h1>学习计划</h1…...

让企业的数据用起来,数据中台=数据治理?

加gzh“大数据食铁兽”&#xff0c;了解更多数据治理信息。 先说结论&#xff1a;数据中台是数据管理/治理的工具之一&#xff0c;数据治理是3分技术7分管理及运营。 数据中台的定义&#xff1a; 狭义的数据中台指在企业内部通过对数据半成品、算法、模型、工具等能力的积累&a…...

【人工智能Ⅰ】5-粒子群算法

【人工智能Ⅰ】5-粒子群算法 文章目录 【人工智能Ⅰ】5-粒子群算法5.1 粒子群算法PSO基本思想5.2 PSO介绍5.3 PSO求最优解5.4 算法流程5.5 PSO构成要素群体大小m权重因子最大速度Vm停止准则粒子空间的初始化领域的拓扑结构 5.6 PSO应用5.7 PSO改进动态调整惯性权重收缩因子法 5…...

软考高项-49个项目管理过程输入、输出和工具技术表

知识领域数量五大过程组启动规划执行监控收尾整体7制订项目章程制订项目管理计划指导与管理项目工作 管理项目知识 监控项目工作 实施整体变更控制 结束项目或阶段范围6规划范围管理 收集需求 定义范围 创建WBS 确认范围 控制范围 进度6规划进度管理 定义活动...

《C和指针》(7)函数

问题 具有空函数体的函数可以作为存根使用。你如何对这类函数进行修改&#xff0c;使其更加有用&#xff1f; 答&#xff1a;当存根函数被调用时&#xff0c;打印一条消息&#xff0c;显示它已被调用&#xff0c;或者也可以打印作为参数传递给它的值。 .如果在一个函数的声明中…...

vue3中的Props

Props声明 一个组件需要显示声明它所接受的props&#xff0c;这样vue才能知道外部传入的哪些是props&#xff0c;哪些是透传attribute 在使script setup的单文件中&#xff0c;props可以使用 defineProps()宏来声明&#xff1a; <script setup> const props definePro…...

ElasticSearch搜索技术深入与聚合查询实战

ES分词器详解 基本概念 分词器官方称之为文本分析器&#xff0c;顾名思义&#xff0c;是对文本进行分析处理的一种手段&#xff0c;基本处理逻辑为按照预先制定的分词规则&#xff0c;把原始文档分割成若干更小粒度的词项&#xff0c;粒度大小取决于分词器规则。 分词发生时…...

vue+element ui中的el-button自定义icon图标

实现 button的icon属性自定义一个图标名称&#xff0c;这个自定义的图标名称会默认添加到button下i标签的class上&#xff0c;我们只需要设置i标签的样式就可以了 ##3. 按钮上使用自定义的icon 完整代码 <div class"lookBtn"><el-button icon"el-icon-…...

PyQt5:构建目标检测算法GUI界面 (附python代码)

文章目录 1.界面2.代码3.Analyze 1.界面 目标检测算法一般就是检测个图片&#xff0c;然后显示图片结果。 最简单的情况&#xff0c;我们需要一个按钮读取图片&#xff0c;然后后有一个地方显示图片。 2.代码 import sys import numpy as np from PIL import Imagefrom PyQt…...

SV-10A-4G IP网络报警非可视终端 (4G版)

SV-10A-4G IP网络报警非可视终端 &#xff08;4G版&#xff09; https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.621e3d0dpv5knb&ftt&id745728046948 产品简介&#xff1a; 通过局域网/广域网网组网的网络报警系统&#xff0c;改变传统局域网组网…...

对xml文本元素赋值

public static void main(String[] args) {Map map ....;//数据Iterator it doc.getRootElement().elementIterator();//doc是xml模板//将元素ID与输入框的值放在map中while (it.hasNext()) {org.dom4j.Element nextRoot (org.dom4j.Element) it.next();Iterator nextIt ne…...

【k8s】资源管理命令-陈述式

一、资源管理介绍 1、资源管理概念 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 //kubernetes的本质就是一个集群系统&#xff0c;用户可以在集群中部署各种服务&#xff0c;起始就是在kubernetes集群中运行一个个…...

无需频繁登录支付宝网站即可完成商家转账,实时到账,方便安全快捷

大家好&#xff0c;我是小悟 转账到支付宝账户是一种通过 API 完成单笔转账的功能&#xff0c;支付宝商家可以向其他支付宝账户进行单笔转账。 商家只需输入另一个正确的支付宝账号&#xff0c;即可将资金从本企业支付宝账户转账至另一个支付宝账户。 该产品适用行业较广&am…...

Vue 监听属性 watchEffect

watchEffect 函数&#xff1a;自动收集依赖源&#xff0c;不用指定监听哪个数据&#xff0c;在监听的回调中用到哪个数据&#xff0c;就监听哪个数据。 而 watch 函数&#xff1a;既要指定监听的数据&#xff0c;也要指定监听的回调。 watchEffect 函数&#xff1a;类似于 co…...

设计模式: 关于项目架构,技术选型,技术债务问题与解决方案

正确的选择是良好的开端 1 &#xff09;指标 系统稳健性系统健壮性 2 ) 衡量 在概念层次衡量架构质量在实际开发中衡量架构好坏 3 ) 架构分类 系统架构 从系统维度&#xff0c;负责整体系统的架构设计基础服务和各系统间协调&#xff0c;着眼全局比如关注负载&#xff0c…...

el-tabs 默认选中第一个

1. 实际开发中el-tabs 都会设置第一个为默认值 ,这样会好看一点, 而渲染的数据经常是通过后端返回的数据 , v-model 无法写死默认值 解决办法 , 通过计算机属性 ,在data 定义一个 selectedTab watch: {defaultTab(newVal) {this.selectedTab newVal; // 设置第一个标签页…...

R -- match,pmatch,charmatch

文章目录 matchpmatchcharmatch match ?matchDescription match returns a vector of the positions of (first) matches of its first argument in its second. 第一个向量中的元素在第二个向量中的位置&#xff0c;如果第二个向量中有多个仅返回第一个match 元素的位置&…...

数据结构——线性表①(顺序表)

一、线性表定义 线性表是一种数据结构&#xff0c;它是由n个具有相同数据类型的数据元素a1,a2,…,an组成的有限序列。 其中&#xff0c;除第一个元素a1外&#xff0c;每一个元素有且只有一个直接前驱元素&#xff0c;除了最后一个元素an外&#xff0c;每一个元素有且只有一个…...

MFC网络编程-Udp客户端

目录 1、UI的设计&#xff1a; 2、代码的实现&#xff1a; &#xff08;1&#xff09;、重写CSocket虚函数OnReceive&#xff0c;并且传入对话框的指针 &#xff08;2&#xff09;、初始化SOCKET &#xff08;3&#xff09;、绑定本地IP和端口 &#xff08;4&#xff09;、…...

基于Qwen3.5-2B的数据库课程设计智能指导系统

基于Qwen3.5-2B的数据库课程设计智能指导系统 1. 课程设计的痛点与解决方案 每到学期末&#xff0c;计算机专业的学生们都会面临一个共同的挑战——数据库课程设计。从选题到ER图设计&#xff0c;再到SQL编写和报告撰写&#xff0c;整个过程往往让学生们感到无从下手。传统的…...

大模型实习复盘:GPT老师带你一个个接口硬啃

总结&#xff1a;互联网中厂大厂&#xff0c;尤其是给你权限给你机器玩的&#xff0c;去&#xff0c;提升极大。小公司or普通研究院&#xff0c;非常一般。一段实习&#xff0c;通常需要满足一些前置的技术条件才能拿到offer。但offer只是开始&#xff0c;还需要自己有意识地在…...

调参不再玄学:手把手教你优化智能车(电磁组)舵机PD控制参数,告别‘画龙’

智能车电磁组舵机控制实战&#xff1a;从参数原理到赛道调优的完整指南 当你的智能车在直道上像喝醉一样左右摇摆&#xff0c;或者在弯道犹豫不决时&#xff0c;大多数问题都指向同一个核心——舵机控制参数设置不当。这不是魔法&#xff0c;而是一门可以通过系统方法掌握的科学…...

SEO关键词优化和广告投放的关系是什么

SEO关键词优化和广告投放的关系是什么 在当今数字营销的世界里&#xff0c;SEO关键词优化和广告投放是两个不可或缺的组成部分。它们之间的关系不仅仅是独立存在&#xff0c;而是相辅相成&#xff0c;共同为企业的网络营销目标提供支持。本文将详细探讨SEO关键词优化和广告投放…...

intv_ai_mk11惊艳效果:同一提示词下不同温度值生成结果的语义与风格对比

intv_ai_mk11惊艳效果&#xff1a;同一提示词下不同温度值生成结果的语义与风格对比 1. 模型效果展示概述 intv_ai_mk11作为基于Llama架构的文本生成模型&#xff0c;其温度参数(temperature)对生成结果的多样性和创造性有着显著影响。温度值控制着模型在生成文本时的随机性程…...

TypeScript类型体操进阶:复杂场景类型推导实战

TypeScript类型体操进阶&#xff1a;复杂场景类型推导实战 在中大型前端项目中&#xff0c;TypeScript的静态类型检查已经成为保障代码健壮性的核心手段。但随着业务复杂度提升&#xff0c;简单的基础类型和接口声明已无法满足动态场景的类型约束需求——比如表单数据的动态校验…...

Android架构实战指南:如何将MVP+RxJava应用到现有项目的完整教程

Android架构实战指南&#xff1a;如何将MVPRxJava应用到现有项目的完整教程 【免费下载链接】android-guidelines Architecture and code guidelines we use at ribot when developing for Android 项目地址: https://gitcode.com/gh_mirrors/an/android-guidelines 想要…...

终极跨平台游戏优化工具迁移指南:从Windows到Linux/macOS的完整解决方案

终极跨平台游戏优化工具迁移指南&#xff1a;从Windows到Linux/macOS的完整解决方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款强大的游戏优化工具&#xff0c;专为管理NVIDIA DLSS、AMD FSR和…...

从银行转账到会话管理:用C#时间戳实战防重放攻击与用户超时注销

从银行转账到会话管理&#xff1a;用C#时间戳实战防重放攻击与用户超时注销 在金融级应用开发中&#xff0c;时间戳从来不只是简单的时间表示。当用户A在网银发起一笔转账时&#xff0c;系统如何确认这个请求不是黑客截获后重放的旧数据包&#xff1f;当用户B离开电脑半小时后返…...

别只用自带库了!LTspice仿真进阶:手把手教你搭建带运放的‘智能’稳压电路,性能对比一目了然

别只用自带库了&#xff01;LTspice仿真进阶&#xff1a;手把手教你搭建带运放的‘智能’稳压电路&#xff0c;性能对比一目了然 在电子设计领域&#xff0c;稳压电路就像是为系统提供稳定"血液"的心脏。许多工程师习惯使用LTspice自带库中的齐纳二极管快速搭建基础稳…...