首页 > 其他分享 >nmap实验

nmap实验

时间:2023-04-21 21:03:17浏览次数:51  
标签:script nmap 扫描 192.168 Nmap 实验 --

实验

名称

NMAP网络扫描器

成绩评定




所用


仪器


材料



win10

NMAP






















一、实验目的

深入Nmap网络扫描器的原理,并通过使用Nmap发现目标主机、开放端口、服务类型、版本和操作系统,进行nmap脚本及库文件编写,深入掌握网络扫描器的作用,达到以下要求:

1.深入掌握信息探测技术中的nmap网络扫描器原理,掌握常用网络服务对应的端口号。

2.熟练使用nmap常用参数对网络环境进行扫描,并通过扫描结果对目标进行分析。

3.掌握nmap脚本的基本使用方法和开发方法,理解并掌握nmap的API和库文件的使用。


二、实验步骤

(1)安装Nmap

双击nmap-7.92-setup.exe安装,在安装过程中,保持默认设置,按照提示进行安装即可。

(2)Zenmap应用

(2.1)单机扫描

在虚拟机上打开Zenmap,在目标框中输入预先使用cmd中ipconfig命令查看的物理主机的ip地址192.168.101.11进行扫描

nmap实验_nmap

nmap实验_计算机网络_02



nmap实验_nmap_03


由第三张图标示处得,该IP地址最有可能的OS类型为Microsoft Windows XP SP3 (98%), Microsoft Windows XP SP3 or Windows 7 or Windows Server 2012 (97%),………………









































接着将配置改为:Intensescan,allTCPports,重新对目标192.168.101.11进行扫描,与之前的进行对比

nmap实验_计算机网络_04


(2.2)网段扫描

在扫描目标中输入:192.168.101.0/24,将配置改为:Intense scan, all TCP ports,然后运行扫描任务,扫描任务停止后即可查看返回结果。

nmap实验_nmap_05


存活的主机IP有:192.168.101.1,192.168.101.2,192.168.101.3,192.168.101.4,192.168.101.5

192.168.101.6,192.168.101.11

以及有SSH服务的IP有哪些?没有IP有ssh服务


(3)Nmap命令行的使用

打开CMD命令提示符,在CMD命令提示符窗口中输入“nmap”命令

nmap实验_nmap_06


判断对应IP地址:192.168.101.11的操作系统,则nmap命令为:nmap-O-T5 192.168.101.11

若不在目标主机上留下连接痕迹,nmap的命令为:nmap-sS 192.168.101.11

若要扫描目标主机的所有端口,命令为:nmap-p 1-65535 192.168.101.11

(4)nmap脚本的使用

4.1)使用--script--script-help选项的脚本扫描:

使用命令查看http-methods脚本的使用方法nmap --script-help http-methods,

nmap实验_计算机网络_07


再使用http-methods脚本查看对应主机webserver支持的httpmethods

nmap实验_计算机网络_08


由扫描后的结果可得支持HTTP协议的请求方式有:GETHEADPOST

4.2)使用 --script-args选项的脚本扫描:

使用wireshark抓取该命令的扫描请求报文

nmap实验_计算机网络_09


可以看到在user-agent中有nmap的特征“nmapscriptingengine”



(4.3)理解Nmap脚本扫描的细节

通过命令:nmap –-script-trace –-script=http-methods 192.168.101.11

nmap实验_nmap_10


(4.4)简单Nmap脚本开发

根据实验所要求的在scripts目录下创建一个test.nse文件

nmap实验_nmap_11


并在cmd中运行命令nmap –scripttest 127.0.0.1

nmap实验_计算机网络_12


再根据要求编辑一个test-simple.nse文件

nmap实验_nmap_13


执行命令 nmap--script test-simple 127.0.0.1

nmap实验_计算机网络_14







(5)基于Halcyon的nmap脚本开发

5.1)安装jdk、启动并配置Halcyon

安装并配置

nmap实验_计算机网络_15


nmap实验_nmap_16


重启Halcyon

nmap实验_计算机网络_17


5.2)创建nse模板文件、查看Halcyon的布局:

Create new 一个nse文件

nmap实验_nmap_18


nmap实验_nmap_19



5.3Halcyon模板代码生成功能、利用Halcyon编写nmap脚本:

nmap实验_nmap_20


删掉插入的代码,编写一个实现对web服务器的检测功能的nmap脚本

nmap实验_计算机网络_21


保存后,在CDM中执行命令:nmap --script=demo www.baidu.com

nmap实验_计算机网络_22


6)Nmap的API和库文件的使用:

(6.1)理解并使用Nmap关于主机信息的API:

首先启动Halcyon,再在nmap安装目录的scripts文件夹下创建一个名为apitest.nse的脚本并将portrule改为hostrule,若我们想要得到的是mac_addr,所以在action中,使用return返回host.mac_addr

nmap实验_计算机网络_23


在cmd中执行命令:nmap --script apitest 192.168.101.1

nmap实验_计算机网络_24


引入stdnse库

nmap实验_nmap_25


再次在cmd中执行命令:nmap --script apitest 192.168.101.1

nmap实验_nmap_26


问题4:请根据上述方法测试host的字段host.directly_connected,测试对象为自己主机网关和百度,并分别回答返回结果。

在nmap安装目录的script目录里新建一个脚本文件answer.nse并把portrule改为hostrule,在action区域增加代码return host.directly_connected

nmap实验_nmap_27


在cmd中分别执行命令:nmap --script=answer 192.168.101.1 和

nmap --script=answer www.baidu.com

本机网关:

nmap实验_计算机网络_28


百度:

nmap实验_nmap_29


测试对象为自己主机网关时返回结果为true,测试对象为百度时返回结果为:false

6.2)理解并使用Nmap关于端口信息的API:

根据实验要求修改apitest.nse代码如下

nmap实验_计算机网络_30


在cmd中执行命令:nmap --script=apitest www.baidu.com

nmap实验_nmap_31


6.3)理解并编写Nmap的库文件:

在nmap安装目录的nselib文件夹下,新建一个名为mylib.lua的库文件

nmap实验_计算机网络_32


在nmap安装目录的script文件夹下创建一个名为apitestlib.nse脚本,在其中导入mylib.lua库文件,在action部分调用PrintPort函数,保存并Update Script DB。


nmap实验_计算机网络_33


在cmd执行命令nmap --script apitestlib baidu.com

nmap实验_计算机网络_34


七、分析与思考:

1)在使用Nmap扫描时,TCP connect()扫描(-sT)与TCP SYN扫描(-sS)有什么区别?

TCP connect()需要建立完整的连接

而TCP SYN仅仅发送SYN包而不用建立完整的连接

2)Nmap对局域网中主机扫描与互联网扫描有什么区别?Nmap在进行扫描时,应该怎样选择相应参数?

Nmap扫描局域网中的主机的速度比扫描互联网的速度更快而且在局域网内更安全

在选择相应参数时,应该根据你所想获得的信息类型以及你想要使用的扫描方法去选择对应参数,比如:想要知道目标主机的操作系统就应该选用-O参数,想用半开扫描就使用SYN scan的参数-sS

3)如果你是网络管理员,为了防止其他人扫描你管理的服务器以获取信息,有哪些解决办法?

1.减少外界访问重要信息的权限

2.建立好防火墙

3.访问某些重要信息时只能通过内网IP进行访问




标签:script,nmap,扫描,192.168,Nmap,实验,--
From: https://blog.51cto.com/u_16058292/6214193

相关文章

  • 实验3 控制语句与组合数据类型应用编程
    1.实验任务1task1.py1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print(......
  • 实验3
    task1实验源码1importrandom23print('用列表存储随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print(�......
  • Cisco网络综合实验
    一、实验拓扑二、实验步骤2.1配置路由器#步骤1:配置路由器接口、配置DHCP地址池Router>enRouter#conftRouter(config)#intg0/0Router(config-if)#ipadd10.0.0.2255.255.255.0Router(config-if)#noshRouter(config-if)#exit配置路由条目Router(config)#iprout......
  • 操作系统实验 & bochs 环境配置
    wsl2-Ubuntu22.04+VSCode+bochs+xfce4+VcXsrv笔者环境wsl2-Ubuntu22.040.安装WSL2&VSCode网上教程千千万,请自行查找WSL2:WSL2安装教程_pengege666的博客-CSDN博客​ 切换清华源:ubuntu|镜像站使用帮助|清华大学开源软件镜像站|TsinghuaOpenSourc......
  • 链路聚合-实验
    一、实验背景什么是链路聚合?将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入吞吐量在各成员端口的负载分担当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担......
  • UML时序图实验报告
    1,这是一张向我们直接展示了银行取款活动图,首先我们需要填写表单,其次需要输入密码,根据判断条件,检查密码的正误,密码错误直接结束,密码正确,根据用户的需求,如果取款则出款并结束,如果是计算利息,则执行打印清单操作,并结束。   2,这张图片展示了用户想要续借图书的时序图,这里的目......
  • 【原创】实验验证 -fstack-protector 编译选项效果
     使用 -fstack-protector选项的编译脚本  [root@Bettystack_smash_test]#catmk.sh  #!/bin/bash g++-O2-Wall-m32-shared-Wl,-fpiccaptureexception.cpp-olibcaptureexception.so gcc-g-fstack-protector-Wall-U_FORTIFY_......
  • 实验四
    #include<stdio.h>#defineN4intmain(){inta[N]={2,0,2,3};charb[N]={'2','0','2','3'};inti;printf("sizeof(int)=%d\n",sizeof(int));printf("sizeof(char)=%d\n",size......
  • Spark+HBase数据处理与存储实验部分内容
    0.Scala+Spark+HBase的IDEA环境配置需要下载的内容:Scala、Java,注意两者之间版本是否匹配。环境:Win10,Scala2.10.6,JDK1.7,IDEA2022.3.1创建maven工程。下载Scala插件。右键项目,添加Scala框架支持。项目结果如图所示:scala添加为源目录,下存scala代码添加依赖包。将property的......
  • 网络对抗实验五 信息搜集与漏洞扫描--20201313
    目录网络对抗实验五信息搜集与漏洞扫描一、实践目标及实践内容1.实践目标2.实践内容二、实践原理1.信息搜集三、实践过程记录1、各种搜索技巧的应用搜索网址目录结构使用traceroute命令进行路由侦查2、DNSIP注册信息的查询whois查询nslookup查询dig查询LP2Location地理位置查......