网络攻防技术-虚拟机安装和nmap端口扫描

文章是博主上实验课做的实验和心得体会,有些高深的地方我可能也比较一知半解,欢迎来交流。全文参考课程所习得,纯粹梳理知识点和分享,如有不妥请联系修改。

文章侧重实验部分,也会讲述实验相关的理论知识。理论后期如果有需要(我要着手复习梳理再整理)

端口扫描

1概述

1.1端口扫描的原理

网络中,一个服务的建立过程是:一个主机向一个远端服务器的某个端口提出建立连接的请求,如果对方提供此服务,就会应答该请求;如果对方没有此项服务,即使向对方发出请求,对方也无应答。

我们要干的就是对一个或者一个范围内的端口建立请求,记录应答情况,从而获取相关服务。

1.2分类

开放扫描可靠性高,但是审计数据多易被发现。例TCP connect扫描(建立完整的TCP连接,服务器会记录这些数据)
半开扫描可靠性和隐秘性在上下两者之间。例TCP SYN扫描
秘密扫描
绕开目标主机防火墙或入侵检测系统、包过滤器等防御策略,进行端口扫描。例TCP NULL扫描、TCP FIN扫描、TCP XMAS扫描
其他扫描非TCP 端口扫描。例UDP扫描

2具体扫描

2.1 ICMP扫描

  1. ICMP Echo扫描:非常常见的一种扫描方式,向主机发送ICMP Echo Request数据包,等待回复的ICMP Echo Reply包,判断一个在网络的主机是否开机,如ping命令。局限性很高,大部分服务器不响应。
  2. ICMP Sweep扫描:并发性扫描,使用ICMP Echo Request一次探测多个目标主机。探测效率高,适用于大范围评估。(比如ping子网里所有主机,看哪个主机应答)
  3. Broadcast ICMP扫描:设置ICMP请求包的目标地址为广播地址或者网络地址,可以探测广播域或整个网络范围内的主机,子网内所有存活主机都会给予回应。只适用于Unix/Linux系统。
  4. Non-Echo IMCP扫描:利用其他服务类型,不仅能探测主机,还能探测路由器等网络设备。

2.2 TCP扫描

  1. TCP connect扫描:调用connect函数,连接到目标计算机。完成一个完整的“三次握手”,建立一个完整的TCP流程。当端口处于侦听状态时,connect函数被成功返回,否则该端口不可用(无法提供服务)。方法稳定可靠,易被发现(完整连接会被服务器记录)

    server端响应,提供服务
    server端不提供服务(端口关闭),rst可断开连接
  2. TCP SYN扫描向目标主机端口发送SYN数据包,若应答返回RST数据包,说明端口是关闭的;若应答返回SYN数据包或ACK数据包,则端口处于侦听状态,再发送一个RST数据包断开连接(只需要探测不用传输,探测到就断开)。该方法为“半连接扫描”,由于不是建立一个完整的TCP连接,一般系统很少记录这种半扫描技术。它有较好的隐蔽性,但是需要授权才能构造SYN数据包(需要管理员权限)。

  3. TCP FIN扫描向目标主机端口发送一个FIN数据包,若端口处于侦听状态,则不会回复FIN数据包;否则,当端口处于关闭状态时,主机会返回RST数据包。该扫描不涉及TCP连接的“三次握手”协议内容,因而不会被目标主机记录,扫描更加隐蔽,但若存在一些系统,它们无论端口状态,对所有FIN数据包回复RST,则无法使用。(图中左边端口开放右边关闭)

  4. TCP NULL扫描:向目标主机端口发送控制位均为0的数据包。若端口开放,则无返回值,否则目标主机将返回RST信息。

  5. TCP XMAS扫描(又称圣诞树扫描):其原理与NULL扫描类似,只是向目标主机端口发送数据包的控制位全为1。若端口开放,则无返回值,否则目标主机将返回RST信息。

2.3 UDP 扫描

UDP对于报文的处理较为简单,当一个打开的UDP端口接收到一个请求报文时,将不发送任何响应报文;而当一个关闭的UDP端口接收到一个请求报文时,它将会发送一个端口不可达的ICMP响应报文

该扫描需要系统管理员的权限,同时可靠性较低,当收不到目标主机端口的不可达报文时,也可能是因为报文传输丢失。同时因为RFC对ICMP错误消息的产生速率做了规定,所以扫描的速度较慢。(秘密扫描也会有这种担心-是否有丢失所要得到的报文)

 

3 创建kali和XP虚拟机实验

 1、下载虚拟机软件

下载并安装VMware Workstation Pro 17(只是实验的统一建议要求,其他的版本应该也可以用,我就是之前装的老版本)(去官网搜一搜或者相关的资料包应该都是有的)

这个软件与Windows 11 的兼容性不是很好,安装好之后,检查一下右键属性-兼容性之中:勾选“以管理员身份运行此程序”,否则可能会运行很慢。

2、安装kali linux

这里给出下载链接kali虚拟机下载(下载VMware版本的) 

下载完将文件解压缩之后,打开刚刚下的VMware,点击“打开虚拟机”按钮,打开刚才解压的文件夹里的.vmx文件,即可创建Kali虚拟机。

点击“编辑虚拟机设置”打开Kali虚拟机的设置页面, 将“此虚拟机的内存”至少设置到4096MB以上并保存。(默认2G,防止不够用)(我设的4096后续是有一点卡的)

开启虚拟机,用户名和密码都是kali。

将虚拟机显示内容改为中文。打开终端,输入sudo dpkg-reconfigure locales并按Enter键,按上下键选中zh_CN.UTF-8 UTF-8,按空格键选中,再按Enter键。然后按上下键选中zh_CN.UTF-8,按空格键选中,再按Enter键。重新启动Kali Linux,即可显示中文。

 如果提示是否“将标准文件夹更新到当前语言”,点击“不要再次询问我”,再点击“保留旧的名称”。这是一个建议,主要是改了可能会妨碍后续的操作。

 

3、安装Windows XP

下载两个镜像文件(光盘映像文件)

下载“zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso”这个镜像文件和“VMware-tools-windows-10.0.12-4448496.iso”这个镜像文件。搜索名称网上可以搜到相关下载路径,这里给出后者的下载地址。

VMware-tools镜像文件下载地址

新建虚拟机,一路保持默认值即可,注意在“安装程序光盘镜像文件”选择“zhhans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso”。VMware Workstation会识别到Windows XP。

在最后一步,点击“完成”按钮前,点击“自定义硬件”按钮,点击“显示”,取消“加速3D图形”前的对号,点击“关闭”按钮,再点击“完成”按钮。(可以减少一些本次实验并不需要的内存空间)

 新建完之后开启虚拟机,这里给出镜像文件所对应的产品密钥,即可成功打开。

4、安装VMware-tools镜像文件

进入到XP的桌面之后,按照以下路径,点击浏览按钮,找到并选中我们刚刚下载的VMware-tools镜像文件-确定,系统会自动启动XP的安装。保持默认一直下一步即可,直至安装后重启。 

 安装成功。

5、一些配置

安装完成之后,在菜单中的“控制面板”,点击“切换到经典视图”。打开“Windows防火墙”,关闭防火墙。

打开控制面板,打开“用户账户”,点击当前登录的账户,更改密码(曾经设置过)/创建新的密码,输入密码。

4 nmap扫描实验

Nmap(Network Mapper)是一个开源免费的网络扫描软件,是一款用于网络发现和安全审计的工具。它常被用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。

-sT/-sS/-sF/-sN/-sX: TCP connect/SYN/FIN/NULL/XMAS 扫描

-sU: UDP 扫描

-O:操作系统探测

-A: 操作系统探测,版本探测,脚本扫描和traceroute

eg. sudo namp -sS 10.0.0.129

1、查看XP虚拟机的IP地址

查看IP地址有两种方式。

 1、window+R打开运行,输入cmd打开命令提示符。输入ipconfig,查看IP地址。

2、或者在控制面板中找到网络,找到IP地址。

2、nmap扫描

在kali虚拟机中打开终端,利用nmap扫描Windows XP虚拟机,得到开启的端口和操作系统版本信息。

这里要探测的IP地址是你上方所得到的IP地址,三个打开的端口-135/139/445都是一些典型的危险端口,mac地址前六位判断网卡产商-VMware。

这里探测的结果和上面一样,只是-sA还包括版本扫描、traceroute等,这里只截取部分探测结果。

到目标主机只有一跳,中间没有别的路由器。这种情况我们默认都在同一路由器(同一子网)下,此路由器由VMware创建。


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

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

相关文章

中断的硬件框架

今天呢,我们来讲讲中断的硬件框架,这里会去举3个开发板,去了解中断的硬件框架: 中断路径上的3个部件: 中断源 中断源多种多样,比如GPIO、定时器、UART、DMA等等。 它们都有自己的寄存器,可以…

动手学深度学习:手语视频在VGG模型中的测试

前言 其他所有部分同上一篇AlexNet一样,所以就不再赘诉,直接看VGG搭建部分。 模型 VGG是第一个采取块进行模块化搭建的模型。 def vgg_block(num_convs,in_channels,out_channels):layers[]for _ in range(num_convs):layers.append(nn.Conv2d(in_ch…

信息学奥赛一本通 1498:Roadblocks | 洛谷 P2865 [USACO06NOV] Roadblocks G

【题目链接】 ybt 1498:Roadblocks 洛谷 P2865 [USACO06NOV] Roadblocks G 【题目考点】 1. 图论:严格次短路径 严格次短路的路径长度必须大于最短路的路径长度。 非严格次短路的路径长度大于等于最短路的路径长度。 【解题思路】 每个交叉路口是一…

Arm CPU安全通告:基于TrustZone的Cortex-M系统面临多重故障注入攻击

安全之安全(security)博客目录导读 目录 一、概述 二、致谢 三、参考文献​​​​​​Black Hat USA 2022 | Briefings Schedule 四、版本历史 一、概述 Arm注意到BlackHat 2022大会官网发布的演讲摘要《糟糕..!我又一次故障注入成功了!——如何突…

【频域分析】包络分析

【频域分析】包络分析 算法配置页面 可以一键导出结果数据 报表自定义绘制 获取和下载【PHM学习软件PHM源码】的方式 获取方式:Docshttps://jcn362s9p4t8.feishu.cn/wiki/A0NXwPxY3ie1cGkOy08cru6vnvc

ElMessage

以下是关于 ElMessage 的详细说明和使用方法: 什么是 ElMessage ElMessage 是 Element Plus 提供的一个全局消息提示组件,用于在页面上显示短暂的消息提示。它可以用于显示成功、警告、错误等不同类型的消息。 基本用法 1. 引入 ElMessage 在使用 E…

全面解析 KaiwuDB 数据库的数据类型

在现代数据库管理系统中,数据类型的选择至关重要。它不仅决定了数据存储的效率,还影响到查询的速度和数据的一致性。KaiwuDB,作为一款开源的分布式数据库,提供了多种数据类型,以适应不同的业务需求和存储要求。本文将全…

【计网】网络交换技术之分组交换(复习自用,重要1)

复习自用的,处理得比较草率,复习的同学或者想看基础的同学可以看看,大佬的话可以不用浪费时间在我的水文上了 另外两种交换技术可以直接点击链接访问相关笔记: 电路交换 报文交换 一、分组交换的定义 1.定义 分组交换&#x…

C++ STL及Python中等效实现

一. STL 概述 STL 包含以下核心组件: 容器(Containers):存储数据的结构,如数组、链表、集合等。迭代器(Iterators):用于遍历容器的接口,类似指针。算法(Alg…

python-63-前后端分离之图书管理系统的Flask后端

文章目录 1 flask后端1.1 数据库实例extension.py1.2 数据模型models.py1.3 .flaskenv1.4 app.py1.5 运行1.6 测试链接2 关键函数和文件2.1 请求视图类MethodView2.2 .flaskenv文件3 参考附录基于flask形成了图书管理系统的后端,同时对其中使用到的关键文件.flaskenv和函数类M…

蓝桥杯真题——好数、R格式

目录 蓝桥杯2024年第十五届省赛真题-好数 【模拟题】 题目描述 输入格式 输出格式 样例输入 样例输出 提示 代码1:有两个案例过不了,超时 蓝桥杯2024年第十五届省赛真题-R 格式 【vector容器的使用】 题目描述 输入格式 输出格式 样例输入…

Python中NumPy的索引和切片

在数据科学和科学计算领域,NumPy是一个功能强大且广泛使用的Python库。它提供了高效的多维数组对象以及丰富的数组操作函数,其中索引和切片是NumPy的核心功能之一。通过灵活运用索引和切片操作,我们可以轻松访问和操作数组中的元素&#xff0…

设计模式:策略模式 - 消除复杂条件判断的利器

一、什么是策略模式? 策略模式(Strategy Pattern)是一种行为型设计模式,它将一组算法或业务逻辑封装为独立的策略类,使这些策略可以互换使用,并通过上下文类动态选择合适的策略。 核心思想 • 将不同的行…

LeetCode hot 100—不同路径

题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? …

pytorch查询字典、列表维度

输出tensor变量维度 print(a.shape)输出字典维度 for key, value in output_dict.items():if isinstance(value, torch.Tensor):print(f"{key} shape:", value.shape)输出列表维度 def get_list_dimensions(lst):# 基线条件:如果lst不是列表&#xff0…

多坐标系变换全解析:从相机到WGS-84的空间坐标系详解

多坐标系变换全解析:从相机到WGS-84的空间坐标系详解 一、常见坐标系简介二、各坐标系的功能和使用场景1. WGS-84 大地坐标系(经纬高)2. 地心直角坐标系(ECEF)3. 本地 ENU / NED 坐标系4. 平台坐标系(Body)5. 相机坐标系三、坐标变换流程图四、如何选用合适的坐标系?五…

【NumPy科学计算:高性能数组操作核心指南】

目录 前言:技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解关键技术模块技术选型对比 二、实战演示环境配置要求核心代码实现运行结果验证 三、性能对比测试方法论量化数据对比结果分析 四、最佳实践推荐方案 ✅常见错误 ❌调试技…

【特权FPGA】之PS/2键盘解码

0 故事背景 见过这种接口的朋友们,大概都已经成家立业了吧。不过今天我们不讨论这种接口的历史,只讲讲这种接口的设计。(如果还没有成家的朋友也别生气,做自己想做的事情就对了!) 1 时序分析 数据帧格式如图…

DAPP实战篇:使用web3.js实现前端输入钱包地址查询该地址的USDT余额—操作篇

专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读396次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你想要知道区块…

高中生学习数据隐私保护的“技术-制度-文化”协同机制研究

一、引言 1.1 研究背景与意义 在数字化时代的浪潮下,教育领域正经历着深刻的变革,智能教育平台如雨后春笋般涌现,为高中教育带来了新的活力与机遇。这些平台借助先进的信息技术,能够实时收集、分析大量的高中生学习数据&#xf…