目录
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的例子上演示对异常的处理: