《西普python安全脚本实验》Python3实现TCP端口扫描.docx
Python3实现TCP端口扫描
实验指导
实验十三Python3实现TCP端口扫描
【实验介绍】
1.概述
在渗透测试的初步阶段通常我们都需要对攻击目标进行信息搜集,而端口扫描就是信息搜集中至关重要的一个步骤。通过端口扫描我们可以了解到目标主机都开放了哪些服务,甚至能根据服务猜测可能存在某些漏洞。
2.实验目标
学会使用Python3编写脚本实现TCP端口扫描。
本实验主要要求学生掌握以下几个方面:
(1)了解什么是TCP;
(2)了解Python3自带模块argparse;
(3)掌握Python3编写脚本实现TCP端口扫描。
3.实验环境
CentOS7.4Linux操作系统;python3.x。
【实验步骤】
1.打开CentOS7.4Linux操作系统
首先,我们需要进入CentOS7.4Linux操作系统,界面图如下:
2.验证Python
(1)右击桌面---选择“在终端中打开”。
(2)输入命令及密码切换成root用户,作用是拥有最高权限,方便后面的一系列命令操作;命令:suroot密码:123456。
(3)输入命令:python;验证是否存在。
3.脚本设计思路
(1)首先,我们定义一个portScanner函数,从其中的内容可以看出,只是进行了简单的TCP连接,如果连接成功则判断为端口打开,否则视为关闭。
(2)其次,我们用多线程来提高效率。另外之前扫描的端口比较多,显示的信息我们看起来不方便,这次我们只显示我们关心的打开的端口,并将打开端口的数量在扫描结束的时候显示出来。
(3)最后,在参数解析中我们将用python3自带的标准模块argparse,这样我们就省去了自己解析字符串。
4.编写准备
(1)在终端中输入命令:ipaddr,查看当前ip地址。
5.编写Python脚本
(1)开始着手编写Python脚本。打开Pycharm工具,并导入shadow.txt文件和key.txt文件,界面图如下:
(2)我们创建两个函数来实现两个功能。第一个功能是进行简单的TCP连接,如果连接成功则判断为端口打开,否则视为关闭;第二个功能是用多线程来提高效率,并不显示未开放端口。在参数解析中用python3自带的标准模块argparse,这样我们就省去了自己解析字符串。
完整代码截图:
运行结果截图:
实验报告
一、实验报告
本实验脚本中需要引用两个第三方库,pythonhook与pythoncom。键盘记录也就是使用hook:Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。而屏幕截图只需要调用几个gui相关的api即可。
1、实验目的
学会使用python编写简易木马程序。
本实验要求掌握以下几个方面:
(1)了解pythonhook第三方库;
(2)了解pythoncom第三方库;
(3)掌握python编写简易木马程序。
2、实验环境
Windows10操作系统;
Python3.x;
PyCharm编译器。
3、实验准备
了解pythonhook第三方库;了解pythoncom第三方库。
4、实验过程
(1)首先,我们需要分别安装pythonhook库与pythoncom库。我们在这里特别要注意的是pythonhook库的安装,pythonhook库的安装需要将.whl文件放置python的Scripts目录下,然后用pip命令进行安装。Pythoncom库是.exe程序,直接双击安装即可。
(2)其次,我们需要在python目录下找到这两个库的相关文件,并复制到pycharm中的site-packages目录下,目的是为了能在pycharm中能够正确的导入这两个库的相关模块。
(3)最后,我们了解Hook,并编写脚本。Hook:Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。
5.任务内容
对安装32位的Python进行步骤说明和内容讲解,然后进行键盘记录与屏幕截图。