破解WEP密钥过程全解 (下)

三、实战破解过程

  1、用Kismet进行网络探测

  Kismet是一个基于Linux的无线网络扫描程序,这是一个相当方便的工具,通过测量周围的无线信号来找到目标WLAN。虽说Kismet也可以捕获网络上的数据通信,但在还有其他更好的工具使用(如Airodump),在这里我们只使用它来确认无线网卡是否正常工作和用来扫描无线网络,在下面的部分中将会换用不同的工具软件来真正地侦听和捕获网络上的数据通信。

  单击Programs 图标,然后是Auditor,再 Wireless,, 然后Scanner/Analyzer,最后是 Kismet ,来运行Kismet程序。如图十二所示。


图十二:运行Kismet

  除扫描无线网络之外,Kismet还可以捕获网络中的数据包到一个文件中以方便以后加以分析使用,因此Kismet会询问用来存放捕获数据包的文件的位置,如我想把这些文件保存到root/desktop下,则单击“Desktop”,然后选择“OK”即可,如图十三所示。然后Kismet然后会询问捕获文件的前缀名字,我们可以更改这个默认的名字,例如把它更改为“capture”然后点击OK,这样Kismet就会以capture为文件名的开头,再在其后依次添加序号来保存捕捉下来的数据包到不同的文件中。


图十三:在Kismet中指定文件的存放位置

  当Kismet开始运行时,它将会显示这个区域内它找到的所有的无线局域网,“Name”那一列中所显示出来的内容就是哪一个WLAN中AP的SSID值,那当然开始设定的目标WLAN也应该包含中其中(Name下值为starbucks的那一行),在这一行中,CH列的值(AP所使用的频道)应该与开始所记下的相同。在窗口的最右边显示的信息是Kismet发现的WLAN的数目,已被捕捉下来了的数据包、已加密了的数据包的数目等等。如下图十四所示。如果Kismet发现了许多相邻的Access Point,你应把这个实验环境搬得离这些AP更远一些,或者把与你网上相连接的任何高增益天线断开。

甚至当目标计算机已关闭时,Kismet也正可从我们的目标AP中检测到数据包,这是因为目标AP在不停地发出“beacons”,它将告之拥有无线网卡的计算机有一个AP在此范围内,我们可以这样想像,这台AP宣布,“我的名字是XXXXX,请大家与我连接。”


图十四:Kismet显示的内容

  默认的Kismet是运行在“autofit”模式下的,它显示的内容杂乱无章的,我们可以通过排序把AP按任何有意义有顺序来重新排列,按下“s”键到“Sort”菜单,在这儿可以按下某个字母来对搜寻到的AP进行排序,如“f”键是按AP名字的第一个字母来排序,而“c”键是按AP使用的频道来进行排序,“l”是按时间来进行排序等等。

  现在我们来查看一下目标WLAN中AP的详细信息,按下“s”键,然后再按下“c”键,把整个AP的列表用频道的方式来排列,使用光标键移动高亮条到表示目标AP的SSID上,然后敲下回车键,然后将打开一个显示所选择AP的详细信息的说明窗口(SSID、MAC地址和频道等)。这样,要破解一个加密WLAN的WEP密钥所需要的基本信息大部分都在这儿了。如图十五所示。有些WLAN从安全方面考试,隐藏了SSID或屏蔽SSID广播,这样做的话的确能够防止使用Netstumbler来扫描,但碰上Kismet就毫无办法了,它可轻易地检测到隐藏的SSID。Kismet能够比Netstumbler捕捉到更多的网络信息,能够通过跟踪AP及与之相连接的客户端之间的会话而发现某个AP的SSID。


图十五:Kismet显示一个AP的详细信息

  要完成一个破解过程,还有最后一个需要了解的信息,就是WLAN中连接在目标AP上的无线客户端的MAC地址,这个使用Kismet也是很轻易地搞定的。返回Kismet,按下“q”键退出详细信息窗口,默认的选择仍旧是刚才查看了的目标AP,使用“Shift+C”键,这时会打开一个与目标AP相关的客户端列表,它们的MAC地址就显示在这个窗口的左边。如图十六所示。在这个窗口显示的内容中,不但包含了与AP相连的客户端的MAC地址,还包括AP自己的MAC地址,还记得在本文的开头所记下的目标AP的MAC地址吗?在这,除了目标AP的MAC地址外就是客户端的MAC地址了。


图十六:使用Kismet寻找客户端的MAC地址

  如果你没有看到Target计算机的MAC地址,请检查一下,确认一下它是否已开机或连接到了目标AP(启动目标计算机,连接到目标AP并打开WEB页面),大约10-30秒后,你将会看到目标计算机的MAC地址在Kismet中弹出。当然,把所有的客户端MAC地址都记下来也不失为一个老道的方法,这样就可避免在开始破解过程时一个客户端也没有出现时受阻。

2、用Airodump来捕获数据包

  现在了解破解所需的基本信息了,该是开始使用Airodump工具的时候了,Airodump的主要工作是捕获数据包并为Aircrack建立一个包含捕获数据的文件。在用来攻击与破解的两台计算机中的任一一台上,笔者是使用的是Attack计算机,打开一个shell窗口并输入以下的命令:

       
  iwconfig wlan0 mode monitor
  iwconfig wlan0 channel THECHANNELNUM
  cd /ramdisk
  airodump wlan0 cap

  注意:把THECHANNELNUM这个值更改成所要破解的WLAN中的频道数,/ramdisk目录是存储捕获数据文件的位置。如果在实验WLAN环境的附近还有别的WAP,则可目标AP的MAC地址附在airodump命令的后部作为参数,如:airodump wlan0 cap1 MACADDRESSOFAP。如图十七所示。


图十七:Airodump命令的格式

  这个命令仅仅是使airodump把捕获到的目标AP的数据包写入到那个生成的数据文件中(cap1)。 按下Ctrl+C键退出Airodump,输入ls –l命令列出这个目录中的内容,看看扩展名为.cap文件的大小。在经过几秒钟的捕获动作后,如果有数据包被成功地捕捉下来,那生成的这个包文件大约为几个 KB大小。如果Airodump使用同一个参数在捕获数据包时被停止和重新开始后,这个生成的包文件会依照前一个文件顺序添加,如第一个为cap1,第二个为cap2等。

  当Airodump在运行时,在该窗口左边看到的BSSID下列出来的值就是目标AP的MAC地址。在这个Airodump的运行窗口中,我们会看到Packet和IV这两个值正在不停地增长,这都是由于Windows检测网络时产生的正常网络通信,甚至在目标客户端上并没有打开WEB网页收发email也是如此。过一会儿后就会看到IV值只会几个几个慢慢地上升,不过如果在目标计算机上浏览网页时,随着每一个新页面的打开,Airodump中的IV值会在不断地快速上升。如图十八所示。


图十八:Airodump显示的IV值

  在这儿,我们对Packet 的值不感兴趣,因为它并不能够有助于破解WEP,IV 值则是个很重要的数字,因为如果要破解一个64bit的WEP密钥,需要捕获大约50000到200000个IV,而破解一个128bit的WEP密钥,则需要大约200000到700000个IV。

  大家可能会注意到,在正常的网络通信条件下,IV值不会增长得很快。实际上,在正常的通信条件下,要成功地破解WEP密钥而需要从大多数的WLAN中捕获足够数量的数据包可能会花费数小时甚至数天的时间。幸运的是,我们还有有几个办法可以把这个速度提高起来。要使IV值快速地上升,最有效的办法就是加大网络的通信量,把目标WLAN变得繁忙起来,加快数据包产生的速度,通过连续不断地ping某台计算机或在目标计算机上下载一个很大的文件能够模仿这一过程,让Attack计算机上运行Airodump,可看到IV值慢慢在上升,再使用BT软件下载一个大的文件(如分布式Linux系统的.ISO文件或电影),这样IV值上升的速度就快多了。

  还有一个方法,在Windows的命令提示符窗口输入如下的命令来进行一个持续不断的ping:

  ping -t -l 50000 ADDRESS_OF_ANOTHER_LAN_CLIENT

  这里 ADDRESS_OF_ANOTHER_LAN_CLIENT值更改成在本局域网中目标AP、路由器或其他任何可ping得通的客户端的IP地址。

 3、用Void11来产生更多的通信流量

  void11把一个无线客户端从它所连接的AP上使用一个强制验证过程,也就是说这个客户端开始被断开,当它被从WLAN中断开后,这个无线客户端会自动尝试重新连接到AP上,在这个重新连接过程中,数据通信就产生了,这个过程通常被叫做de-authentication或deauth attack过程。

  启动Sniff计算机,并把Auditor CD插入它的光驱,Auditor启动后,打开一个shell命令窗口并输入以下的命令:

       
  switch-to-hostap
  cardctl eject
  cardctl insert
  iwconfig wlan0 channel THECHANNELNUM
  iwpriv wlan0 hostapd 1
  iwconfig wlan0 mode master
  void11_penetration -D -s MACOFSTATION -B MACOFAP wlan0
  注意:把THECHANNELNUM替换成目标WLAN的频道数,MACOFSTATION 和 MACOFAP分别替换成目标WLAN的客户端的MAC地址和AP的代号,如下形式:void11_penetration -D -s 00:90:4b:c0:c4:7f -B 00:c0:49:bf:14:29 wlan0。当在Auditor Security Collection CD中运行void11时可能会看到“invalid argument error”的错误信息,这无关紧要,不要理会这个错误。

  当void11在Sniff计算机上运行时,我们来看看Target计算机上正在发生的变化,通常,使用这台机器的用户会发现网络突然地变得非常慢,而且最后好像停顿了,几秒钟后,彻底与网络失去了连接。如果查看Windows XP自带的无线客户端实用程序,会发现void11开始攻击之前,一切都正常,Windows显示你正连接在AP上,Void11启动后,网络状态会从连接状态改变到断开状态。如图十九所示。如果在在Sniff计算机上停止void11后,Target计算机会在大约几秒钟内重新连接到目标AP。


图十九:目标计算机被断开

  让我们到Attack计算机上去看一下,它总是在那运行着Airodump,当void11在运行后,IV值在几秒钟内增加大概100-200,这是由于目标客户端机器重复地尝试重新连接到目标AP上时产生的网络通信引起的。

4、用Aireplay引起数据包的延迟

  当使用一个deauth attack过程强制产生通信时,它通常不能够产生我们所需要的足够数量的IV值,不过Airodump比较适合于干扰正常的WLAN操作的工具。为了产生更多的网络通信流量,我们需要使用一种叫做replay attack的不同方法,replay attack截获由目标客户端产生的合法数据包,然后再通过某种手段来欺骗这个客户端,再三地延迟它的数据包,这个延迟过程比正常使用的时候更频繁。由于这些通信流量看上去好像来自一台网络上合法的客户端,因此它并不干扰正常的网络操作,只是在幕后静静地从事着产生更多IV的职责。

  把由void11的deauth attack产生的数据包捕获下来后,停止这个deauth attack过程,然后使用这些捕获下来的数据包开始一个replay attack过程。我们在破解过程中所要捕获的数据包最好选择是ARP包,因为它们都很小(68字节长),并有固定和容易被侦测的格式。把Attack和Sniff这两台机器都重新启动, Attack计算机只运行aireplay,它仅仅是用来促使网络中产生数据流量(和IV)以缩短破解WEP密钥所使用的时间,Sniff计算机的用途不是来运行deauth attack(通过Void11),就是用来捕获通信流量(通过Airodump),并最后使用Aircrack工具来对被捕获到的数据进行破解。

  先启动Aireplay,在Attack计算机上,打开一个shell窗口并输入以下命令(如下图二十所示):

       
  switch-to-wlanng
  cardctl eject
  cardctl insert
  monitor.wlan wlan0 THECHANNELNUM
  cd /ramdisk
  aireplay -i wlan0 -b MACADDRESSOFAP -m 68 -n 68 -d ff:ff:ff:ff:ff:ff

  注意:switch-to-wlanng和monitor.wlan是来自于Auditor CD,为简化操作和减少输入的脚本命令。 把THECHANNELNUM更改为目标WLAN的频道数。来看看这个操作命令会有什么结果产生,首先,没有什么太令人激动的事发生,会看到Aireplay报告已捕获到了某些类型的数据包,不过由于这些数据包基本上不是我们所需要的(目标MAC地址为FF:FF:FF:FF:FF:FF的68字节的包)。


图二十:启动Aireplay

  现在来操作Target计算机并打开它的无线实用程序,监视它的网络连接状态,然后在Sniff计算机上启动一个void11的deauth attack,一旦开始启动void11,这时可看到Targets计算机已从目标AP上断开了,当然,Aireplay显示的数据包速率增加得更快了。

  Aireplay捕获了相关的数据包后会并询问是否与你所希望得到的相匹配,在本次破解中,我们需要捕获的数据包具有以下特征:

  FromDS - 0

  ToDS - 1

  BSSID – 目标AP的MAC地址

  Source MAC – 目标计算机的MAC地址

  Destination MAC - FF:FF:FF:FF:FF:FF

  如果数据包并不与这些条件相匹配,输入n(表示no),Aireplay会重新再捕获,当aireplay成功地找到与以上条件相匹配的数据包后,回答y(表示yes),Aireplay会从捕获转换到replay模式并开始启动replay攻击。这时立即返回到Sniff计算机上停止void11的deauth attack。如图二十一所示。


图二十一:Void11捕获到了相匹配的数据包

  如果Aireplay在几千个数据包中并没有捕获到相应的数据包包,则可使用Void11来助力,Void11能够干扰目标AP和它的客户端不,给它们任何机会去完成重新连接。手动停止void11(按Ctrl+C键)然后重新启动它,添加“d”参数到void11的命令行中(延迟的值是微秒),尝试用不同的值去允许AP与客户端重新连接的时间。

  如果目标客户端处于空闲状态,通过deauth攻击来捕获ARP包可能是比较困难的,这在一个真实环境的WLAN中可能不会发生,但在这个实验的WLAN下环境中则成了一个问题。如果Aireplay没有捕获到你所需要的数据包破解不能进行下去,则可在开始deauth attack之前你需要到目标客户端计算机上运行一个连续不断的ping或开始一个下载任务。如果Void11完全不能正常工作,可Attack计算机上保持运行aireplay,在Sniff计算机上关闭void11,操作Target计算机并手动断开无线网络连接,再重新连接,在三十秒内,当它重新连接到WLAN并请求获取一个IP地址时,在Attack计算机上的Aireplay能够看到由目标计算机发出的ARP包。

5、最后的破解的时刻

  经过一段时间的运行,在Attack计算机上运行的replay attack产生了足够多的IV,现在是做真实的WEP破解的最终时刻到了,在Sniff计算机上停止void11,并输入如下的命令以,设置Airodump来捕获数据包。

       
  switch-to-wlanng
  cardctl eject
  cardctl insert
  monitor.wlan wlan0 THECHANNELNUM
  cd /ramdisk
  airodump wlan0 cap1

  把THECHANNELNUM替换成目标WLAN的频道数,如果在这个区域内有多个WAP,把目标AP的MAC地址添加到airodump的尾部作为参数,如:airodump wlan0 cap1 MACADDRESSOFAP。随着Airodump把IV写进一个文件中,我们可同时运行Aircrack来寻找包含在这个文件中的这个WEP密钥,让Airodump继续运行,打开另外一个shell窗口,在这个新的命令窗口中输入如下的命令来启动Aircrack。

       
  cd /ramdisk
  aircrack -f FUDGEFACTOR -m MACADDRESSOFAP -n WEPKEYLENGTH -q 3 cap*.cap

  注意:FUDGEFACTOR 在一个整数(默认值为2),MACADDRESSOFAP是目标AP的MAC地址。WEPKEYLENGTH 是你尝试破解的WEP密钥的长度(64, 128等等)。如下图二十二所示。


图二十二:Aircrack命令的格式

  Aircrack将从捕获下来生成的数据包文件中读入IV值,并依靠这些IV值上完成WEP密钥的破解,Aircrack默认的是使用一个速度比较慢的模式来寻找WEP密钥,不过这种模式速度虽慢,但它找到WEP密钥的机会很高;还有一种模式就是使用-f参数,这个则速度相当快,不过成功的机会比前一个小得多。如果运气好的话,你会看到WEP密钥被成功地找到啦。如下图二十三所示。


图二十三:成功破解WEP密钥

  要破解一个64bit的WEP在需要5分钟时间,由同时运行于replay attack的几个操作的时间组成的:用airodump扫描、用aircrack破解和用aireplay产生网络通信流量,不过这里有许多幸运的地方,有时破解一个64bit的WEP的密钥要收集25000个左右的IV,则它花费的时间就更长了。必须把这个你尝试恢复的WEP密钥的长度输入到Aircrack中,这个长度没有哪一个工具能提供,对你自己的实验环境的WLAN当然能够知道这个信息,但在别的你一无所知的网络环境中则可以使用64或128这两个密钥长度去尝试。

  使用配置更好的机器能够有助于加快破解的过程,把捕获下来生成的数据包文件拷贝到另外有更大内存和更快处理器的机器上去完成最后的破解动作不失为一个好的办法,在这台机器上就只要运行Aircrack这个工具了,并且aircrack能够使用-p选项来支持多处理器,使用AMD和Intel的新双处理器设备能使破解过程更快。对于128bit长的密钥来说更是要如此了。

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

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

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

相关文章

mpAndroidchart 坐标和图表距离_【玩转图表系列】六步,美化你的图表,让老板刮目相看!...

近期隆重推出图表分析系列,包括销售分析、盈亏分析、费用分析、趋势分析、进度分析等,通过双坐标图、甘特图、瀑布图、双层饼图等系列图表精美展现,专业高效,让你从初级学到高级、从小白跨越专业。今天开启我们邦邦财玩转图表第一…

SpringBoot+FreeMarker开发word文档下载,预览

背景&#xff1a; 开发一个根据模版&#xff0c;自动填充用户数据并下载word文档的功能 使用freemarker进行定义模版&#xff0c;然后把数据进行填充。 maven依赖&#xff1a; <parent> <groupId>org.springframework.boot</groupId> <artifactId>…

使用 IPsec 与组策略隔离服务器和域-第 7 章 IPsec 疑难解答

本章提供有关如何对 Internet 协议安全性 (IPsec) 问题&#xff08;如服务器和域隔离方案中的安全性问题&#xff09;进行疑难解答的信息&#xff0c;这些信息依赖于 Microsoft 信息技术 (IT) 小组的经验和方法。 在有可能的时候&#xff0c;本章将引用现有的 Microsoft 疑难解…

单片机的单个IO口可以发送数据吗_关于51单片机各个引脚它的功能你了解多少?...

对于40引脚双列直插51单片机各个引脚功能情况分析。P0端口一默认是开漏准双向IO口&#xff0c;没有输出没有驱动能力&#xff0c;要做逻辑输出要在外部接上拉电阻。P0端口除了作为普通的输入输出功能&#xff0c;还可以用来当做数据总线接口或者地址总线&#xff0c;当外面扩展…

git merge用法_常用命令之git操作(进阶篇)

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来&#xff0c;然后在不影响主线的同时继续工作。有人把 Git 的分支模型称为必杀技特性&#xff0c;而正是因为它&#xff0c;将 Git 从版本控制系统家族里区分出来。不同的分支可以理解为…

2G内存刚刚好 浅谈4G内存对笔记本的影响

随着Intel P3x系列芯片组的发布&#xff0c;DDR3内存的普及日益临近&#xff0c;AMD K10系列处理器AM2规格也正式支持DDR3内存&#xff0c;明年即将面临淘汰的DDRII内存是越来越便宜了。很多笔记本用户在购买笔记本的时候都把是否支持4G内存作为一个总要的衡量标准。官方资料里…

由object元素引出的事件注册问题和层级显示问题

项目有一个双击监控视频全屏的需求&#xff0c;视频播放使用的是IE下的ActiveX控件&#xff0c;web页面中使用HTML嵌入对象元素object。预期方案如下&#xff1a; 1.在开发ActiveX控件时加入双击事件。 2.通过div包裹object&#xff0c;控制div的大小从而间接实现全屏效果。 在…

cad钣金展开插件_钣金高级工考试大小头手工展开图步骤教程

提醒&#xff1a;点上方↑↑↑“钣金学习网”免费关注简单方法一: 等分弧画法简单方法二: 角度计算画法1、先画一条中心直线&#xff0c;在线上取一点A&#xff0c;过&#xff21;点画一条与中心线垂直相交线。量取大头半径以&#xff21;点为起点在相交线上标注一点&#…

介绍一个新鲜玩意 开源的杀毒软件

有“免费的午餐”我们为什么不吃呢&#xff1f;杀毒软件一定要购买或用D版吗&#xff1f;先别忙着下结论&#xff0c;请耐心看完本文&#xff0c;然后再告诉我你是怎么想的。&#xff08;一&#xff09;、ClamWin Free Antivirus 开源反病毒软件 GPL协议SourceForge页面&#x…

没有可用软件包 jenkins。_Jenkins分布式构建与并行构建

Jenkins分布式构建与并行构建 jenkins的架构 Jenkins采用的是“masteragent&#xff08;slave&#xff09;”架构。Jenkins master负责提供界面、处理HTTP请求及管理构建环境&#xff1b;构建的执行则由Jenkins agent负责 Jenkins agent的横向扩容&#xff1a;只需要增加agent就…

qstring去掉特定字符_如何花式、批量且操作简单地处理字符?

文本字符的规范化&#xff0c;是批量处理的前提。多来源数据或是数据收集本身就必然存在不规范情况&#xff0c;于是批量地完成它就成了常见的需求。对于花式批量处理&#xff0c;自然要说到正则表达式。“正则表达式是对字符串操作的一种逻辑公式&#xff0c;就是用事先定义好…

性能度量RMSE

回归问题的典型性能度量是均方根误差&#xff08;RMSE:Root Mean Square Error&#xff09;。如下公式。 m为是你计算RMSE的数据集中instance的数量。x(i)是第i个实例的特征值向量 ,y(i)是其label&#xff08;期望的模型输出&#xff09;。如下&#xff1a;X是包含了所有实例的…

【数学建模】day02-整数规划

基本类似于中学讲的整数规划--线性规划中变量约束为整数的情形。 目前通用的解法适合整数线性规划。不管是完全整数规划(变量全部约束为整数)&#xff0c;还是混合整数规划(变量既有整数又有实数)&#xff0c;MATLAB都提供了通用的求解函数。 一、0-1型整数规划 这类规划将变量…

VMware的linux虚拟机实现和windows的文件共享

使用的centos7和windows10&#xff0c;在虚拟机centos7中是root身份。由于是第一次用没有界面的linux&#xff0c;可谓是困难重重…… 一 打开VMware&#xff0c;然后选中你的虚拟机&#xff0c;我的是centos7。然后点击工具栏”虚拟机“&#xff0c;然后选择”安装VMware tool…

javascript进制转换_「js基础」JavaScript逻辑和位运算符归纳

上一篇文章呢&#xff0c;我们讲述了JavaScript运算符中的关系运算符和逻辑运算符&#xff0c;那么紧接上一篇的文章我们今天来说说逻辑运算符。引言逻辑运算符不是很难&#xff0c;也不是很多&#xff0c;我们只要记住三个就可以啦&#xff01;分别是&#xff1a;&#xff01;…

〖强暴贴〗号称全国最大开发者网络的CSDN多次出现低级错误 验证码形同虚设 开发人员竟是MVP

分享一下我老师大神的人工智能教程。零基础&#xff01;通俗易懂&#xff01;风趣幽默&#xff01;还带黄段子&#xff01;希望你也加入到我们人工智能的队伍中来&#xff01;https://blog.csdn.net/jiangjunshow主  题&#xff1a;【醒目】〖强暴贴〗号称全国最大开发者网络…

弟子规python编程游戏_《Python游戏趣味编程》 第11章 消灭星星

知乎视频​www.zhihu.com图书简介可以看这里&#xff1a;童晶&#xff1a;《Python游戏趣味编程》新书上架了​zhuanlan.zhihu.com消灭星星是一款非常容易上瘾的消除类游戏&#xff0c;只需点击一个方块&#xff0c;如果和其连接的有两个或两个以上颜色相同的方块即可消除&…

python判断英文字母_python判断字符串中是否含有英文 | 个人学习笔记记录

第一种方法&#xff1a; #-*- coding:utf-8 -*- import re def check(str): my_re re.compile(r[A-Za-z],re.S) res re.findall(my_re,str) if len(res): print u含有英文字符 else: print u不含有英文字符 if __name__ __main__: str 你好123hello check(str) str1 你好1…

idea ssm项目移包报错问题

写完代码之后发现包结构太乱了 想要规划一下 结果报错 这里面的包路径都可以点进去&#xff0c;还是报找不到com.lf.company.entity.Business 后来发现是 在移动前和移动后都存在这个mapper。xml 解决方案&#xff1a; 在这里把多余的删掉转载于:https://www.cnblogs.com/NCL…

matlab 写excel 慢_吐槽一下MATLAB的workspace

用MATLAB编程&#xff0c;或者Simulink建模仿真&#xff0c;有一个特别强大、特别人性化的功能&#xff0c;可以在workspace中直接查看定义的参数和运行的结果 无论是仿真的调试&#xff0c;结果的分析&#xff0c;或是中途的Debug&#xff0c;workspace都发挥着至关重要的作用…