7.2.2 Python简介

“Python是种脚本语言。使用简单,但功能很强大,特别是构造测试用字符串时很方便;而且集成了很多现成的应用协议,使用Python测试,很容易发现漏洞。”

小知识:脚本语言

脚本语言是类似DOS批处理、UNIX Shell程序的语言。脚本语言不需要每次编译再执行,并且在执行中可很容易地访问正在运行的程序,甚至可动态修改正在运行的程序,适用于快速开发以及完成一些简单任务。解决问题需要诸如可变长度字符串等数据类型,这样的数据类型在脚本语言中十分容易,而C语言则需要很多工作才能实现。

“哎哟,第一次听说,还什么都不懂,怎么测试啊?”古风说道。

“呵呵,大家有了C语言的基础,使用Python简直是轻松之极。我们先来安装吧!要安装Python和pyOpenSSL。在Windows环境下,当然安装Windows版本的Python了,推荐安装Python 2.2.x的版本,因为可以找到For Python 2.2.x 的Win32编译版,比较方便。当然我们也可自己编译成for Win版,安装过程如图7-9、图7-10。”

“安装完毕后,我们任意新建一个文件,改成.py后缀名,可以看见为py文件变为了一个蟒蛇图标,如图7-11,说明Python安装成功。”

“hoho!图标好可爱啊!”小倩等几个女生说道。

“嗯,但其实和蟒蛇无关,命名是由BBC的‘Monty Python's Flying Circus’节目而得。不过使用起来,大家会感到它的确比较可爱。”

“我们点击‘开始→程序’里面的‘Python2.2→Python (command line)’,就可进入Python的解释程序界面,如图7-12。”

“进入解释程序的环境后,解释程序处于交互状态。在这种状态下,系统提示输入下一个命令,这一般是三个大于符号(即>>>),如果键入文件尾符号——Windows中为‘Control-Z’,就可正常退出解释程序,如图7-13。”

“我们来看一个简单例子,看看怎么使用。”

“Hello World?”大家都知道一般的入门是写个Hello World程序。

老师一本正经的说:“不,这个太简单了,我们输出‘Hello,ww0830’吧!”

“晕!不是一样的啊!”

“呵呵,你们也可改成自己的名字啊!当看到自己的名字成功打印出来时,就会感到很有成就感,更能鼓励自己!Python在输入提示符‘>>>’下时,是工作在交互模式。输入命令就会马上执行,然后又会等待输入下一条执行。我们输入 print 'hello ww0830! ' ,就会马上打出来,如图7-14。”

“该交互模式可用于测试短小语句的执行效果;也可测试较大系统中的部分组件。但缺点是不能保存这些指令,如果要反复输入时也比较麻烦。所以,我们可用文本编辑器编辑命令,然后存为py后缀名的文件。以后就可以一直使用了。”

“我们打开记事本,输入如下命令:”

import sys
print sys.argv

“然后另存为test.py。这两句指令输出该py文件执行时带的参数。我们在DOS提示符下运行,结果如图7-15。”

“其实,Python最方便的地方,一个是构造字符串,另一个是本身已经封装好了很多网络协议,我们可直接使用它来探测软件对网络协议的处理,以期望发现漏洞。”

“好了,介绍就到这里。我们实际用Python来写网络协议的测试用例吧!”

“啊!Python的网络编程还不是很了解呢!”古风担心的说道。

“没关系,我会给出详细解释的。而且有了C语言编写网络程序的基础,你们会发现用Python的确很可爱。但关键的,还是要明白思路。”