“网络安全基础(通识2021秋)-中国政法大学”实验报告

网络安全:服务器端口扫描实验

网络安全:服务器端口扫描实验 实验报告

王斯里 200405030

一、本节实验知识点

(1)Python 网络开发

(2)Socket 基础知识

(3)端口扫描概念

(4)python-nmap 包:就是一个可以在 Python 程序中使用 nmap 端口扫描器的 Python 包。允许开发者对 nmap 扫描结果进行解析并能够帮助管理员自动化扫描任务和报告输出。并且这个包可以支持异步输出,当扫描结果完成时调用用户定义的回调函数。

二、实验过程

1.理论基础

(1)端口扫描:端口扫描工具(Port Scanner)指用于探测服务器或主机开放端口情况的工具。常被计算机管理员用于确认安全策略,同时被攻击者用于识别目标主机上的可运作的网络服务。

(2)实现原理

TCP 连接扫描、SYN 扫描

2.实现一个使用单线程方式依次测试连接端口列表的端口扫描程序

(1)读取端口及目标服务器

图片描述

在 /home/shiyanlou/Code 文件夹中使用 touch 命令来创建代码文件夹, 使用 sudo chmod +x port_scan.py 为文件加上执行权限,使用 ls 查看文件,文件名是绿色的,说明它有执行权限了。

编写代码:

图片描述

程序中使用 sys.argv[] 来读取操作指令,它能让我们读取到刚刚的 host、start_port 和 end_port;程序还需要对数据进行初步处理,让对应的数据存储到变量中。编写的是处理代码。

(2)测试 TCP 端口连接

第二步,我们进入一个循环,在这个循环中依次对端口范围内的端口进行连接测试。连接测试方法是:创建 socket,调用 connect() 函数,关闭连接。

图片描述

首先要在文件开始部分引入 socket 包,然后获取目标 IP 地址,进入循环开始连接。

(3)输出开放端口结果

打印 opened_ports 列表

图片描述

3.执行测试

图片描述

测试了 100-200,8000-8080,7000-8080,100-9000端口,只有5901端口处于打开状态。使用浏览器查看5901提供什么样的服务:

图片描述

4.安装 Python 端口扫描包 python-nmap

(1)输入命令更新软件包列表,再输入命令进行安装。

图片描述

(2)基本功能

输入 python 进入 python shell,加载 nmap 包,创建 PortScanner 对象,扫描127.0.0.1的 22-100 端口,查看使用的命令行和扫描信息,查看扫描的目标主机信息。

图片描述

三、总结与思考

在实验中采用TCP扫描连接进行了服务器端口扫描实验,安装了python-nmap包,体验了基本功能。

最新评论
暂无评论~